Skip to content

Math

Module name: "math"

FunctionSignatureDescription
abs(n: float) -> floatAbsolute value
ceil(n: float) -> floatRound up
floor(n: float) -> floatRound down
round(n: float) -> floatRound to nearest
sqrt(n: float) -> floatSquare root
pow(base: float, exp: float) -> floatExponentiation
log(n: float) -> floatNatural logarithm
exp(n: float) -> floate raised to n
sin(n: float) -> floatSine
cos(n: float) -> floatCosine
tan(n: float) -> floatTangent
min(a: float, b: float) -> floatMinimum of two
max(a: float, b: float) -> floatMaximum of two
clamp(val: float, lo: float, hi: float) -> floatClamp to range
abs(-5.0) // 5.0
ceil(1.2) // 2.0
floor(1.9) // 1.0
round(1.5) // 2.0
sqrt(25.0) // 5.0
pow(2.0, 10.0) // 1024.0
sin(PI / 2) // 1.0
cos(0.0) // 1.0
clamp(150.0, 0.0, 100.0) // 100.0
// Constants
PI // 3.14159...
TAU // 6.28318...
INFINITY

Module name: "interpolation"

FunctionSignatureDescription
lerp(a: float, b: float, t: float) -> floatLinear interpolation
smoothstep(edge0: float, edge1: float, x: float) -> floatSmooth Hermite curve
inverseLerp(a: float, b: float, value: float) -> floatInverse linear interpolation
lerp(0.0, 100.0, 0.5) // 50.0
smoothstep(0.0, 1.0, t)
inverseLerp(0.0, 100.0, 50.0) // 0.5

Module name: "noise". Backed by fastnoise-lite.

FunctionSignatureDescription
noise2D(x: float, y: float) -> float2D noise in -1.0..1.0
noise3D(x: float, y: float, z: float) -> float3D noise in -1.0..1.0
noise2D(x, y) // float in -1.0..1.0
noise3D(x, y, z)