Package-level declarations

Types

Link copied to clipboard
@Serializable
class Arclength : DualParameter

Arclength parameter for DualNum

Link copied to clipboard
@Serializable
class DualNum<Param : DualParameter>(values: DoubleArray)
Link copied to clipboard
sealed interface DualParameter
Link copied to clipboard
@Serializable
data class IntegralScanResult(val values: List<Double>, val sums: List<Double>)

Data class representing the result of an integral scan.

Link copied to clipboard
@Serializable
class Internal : DualParameter

Parameter for DualNum for internal use only.

Link copied to clipboard

A navigable map that supports interpolation between values.

Link copied to clipboard

Data class for LDLT decomposition.

Link copied to clipboard
data class LLTDecomposition

Data class for LLT (Cholesky) decomposition, with rank-1 update/downdate.

Link copied to clipboard
data class LUDecomposition

Data class for LU decomposition.

Link copied to clipboard
class Matrix

Represents a matrix of doubles. Internally represented as a SimpleMatrix from EJML.

Link copied to clipboard
data class MinMax(val min: Double, val max: Double)

Data class representing a minimum and maximum value pair.

Link copied to clipboard
data class QRDecomposition

Data class for QR decomposition.

Link copied to clipboard
@Serializable
class Time : DualParameter

Time parameter for DualNum

Functions

Link copied to clipboard
fun antiLerp(value: Double, low: Double, high: Double): Double
Link copied to clipboard
Link copied to clipboard
fun clamp(x: Double, lo: Double, hi: Double): Double

Clamps x to the range [lo, hi].

Link copied to clipboard
fun Int.fact(): Int

Computes the factorial of this integer.

Link copied to clipboard
Link copied to clipboard
fun lerp(low: Double, high: Double, t: Double): Double
fun lerp(x: Double, fromLo: Double, fromHi: Double, toLo: Double, toHi: Double): Double
Link copied to clipboard
fun <Param : DualParameter> lerpDual(x: Double, fromLo: Double, fromHi: Double, toLo: DualNum<Param>, toHi: DualNum<Param>): DualNum<Param>
Link copied to clipboard
fun lerpLookup(source: List<Double>, target: List<Double>, query: Double): Double

Searches for the nearest value in source to the given query value. If query exactly matches a value in source, the corresponding value in target is returned. If not, the two nearest values in source are found, and linear interpolation is performed between the corresponding values in target.

Link copied to clipboard
fun lerpLookupMap(source: List<Double>, target: List<Double>, queries: List<Double>): List<Double>

Performs linear interpolation lookup for a list of query values.

Link copied to clipboard
fun lerpMatrix(start: Matrix, end: Matrix, t: Double): Matrix
Link copied to clipboard
fun makeBrysonMatrix(vararg tolerances: Double): Matrix

Creates a cost matrix from the given tolerances using Bryson's rule.

Link copied to clipboard
fun range(begin: Double, end: Double, samples: Int): List<Double>
Link copied to clipboard
fun rangeCentered(begin: Double, end: Double, samples: Int): List<Double>
Link copied to clipboard
fun sinc(x: Double): Double
Link copied to clipboard
fun snz(x: Double): Double

Returns a small value with the same sign as x.

Link copied to clipboard

Solves for X in the equation \(aX = b)\.