import { assertEquals } from "jsr:@std/assert"
assertEquals(lerp( 0, 100, 0.5), 50)
assertEquals(lerp(50, 100, 0.5), 75)
assertEquals(lerp(50, 100, 0.0), 50)
assertEquals(lerp(50, 100, 1.0), 100)
assertEquals(lerp(50, 100, 1.5), 125)
assertEquals(lerp(50, 100, -0.5), 25)
assertEquals(lerp(50, 100, -1.0), 0)
assertEquals(lerp(50, 100, -2.5), -75)
get the linearly interpolated value between two scalar points
x0andx1, decided by unit interval timet.in other words:
lerp(x0, x1, 0.0) === x0lerp(x0, x1, 1.0) === x1x0 < lerp(x0, x1, t > 0.0 && t < 1.0) < x1this lerp function does not clamp the time parameter
tto the closed UnitInterval[0.0, 1.0]. to ensure clamping oftto the unit interval, use the lerpClamped function.