InterpolatingMap

A navigable map that supports interpolation between values.

InterpolatingMap is a wrapper around a TreeMap<Double, T> that, when queried with a key, returns the exact value if the key exists, or interpolates between the two nearest values otherwise. The interpolation logic is provided by the user via the interpolate function.

Parameters

T

The type of values stored in the map.

Throws

if the number of keys and values do not match.

Constructors

Link copied to clipboard
constructor(interpolator: (T, T, Double) -> T)
constructor(interpolator: (T, T, Double) -> T, keys: List<Double>, values: List<T>)

Properties

Link copied to clipboard
Link copied to clipboard
val interpolate: (T, T, Double) -> T

A function that takes two values and an interpolation factor in 0.0, 1.0, and returns an interpolated value.

Link copied to clipboard
open override val keys: MutableSet<Double>
Link copied to clipboard
open override val size: Int
Link copied to clipboard

The underlying TreeMap storing the data.

Link copied to clipboard
open override val values: MutableCollection<T>

Functions

Link copied to clipboard
Link copied to clipboard
open override fun ceilingKey(p0: Double): Double
Link copied to clipboard
open override fun clear()
Link copied to clipboard
open override fun comparator(): Comparator<in Double>
Link copied to clipboard
open override fun containsKey(key: Double): Boolean
Link copied to clipboard
open override fun containsValue(value: T): Boolean
Link copied to clipboard
open override fun descendingKeySet(): NavigableSet<Double>
Link copied to clipboard
open override fun descendingMap(): NavigableMap<Double, T>
Link copied to clipboard
Link copied to clipboard
open override fun firstKey(): Double
Link copied to clipboard
Link copied to clipboard
open override fun floorKey(p0: Double): Double
Link copied to clipboard
open operator override fun get(key: Double): T

Gets the value associated with the given key. If the key does not exist, the value is interpolated between the two nearest values.

Link copied to clipboard
open override fun headMap(p0: Double): SortedMap<Double, T>
open override fun headMap(p0: Double, p1: Boolean): NavigableMap<Double, T>
Link copied to clipboard
Link copied to clipboard
open override fun higherKey(p0: Double): Double
Link copied to clipboard
open override fun isEmpty(): Boolean
Link copied to clipboard
open override fun lastEntry(): MutableMap.MutableEntry<Double, T>
Link copied to clipboard
open override fun lastKey(): Double
Link copied to clipboard
Link copied to clipboard
open override fun lowerKey(p0: Double): Double
Link copied to clipboard
open override fun navigableKeySet(): NavigableSet<Double>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun put(key: Double, value: T): T?
Link copied to clipboard
open override fun putAll(from: Map<out Double, T>)
Link copied to clipboard
open override fun subMap(p0: Double, p1: Double): SortedMap<Double, T>
open override fun subMap(p0: Double, p1: Boolean, p2: Double, p3: Boolean): NavigableMap<Double, T>
Link copied to clipboard
open override fun tailMap(p0: Double): SortedMap<Double, T>
open override fun tailMap(p0: Double, p1: Boolean): NavigableMap<Double, T>