pub fn lerp(a: f64, b: f64, t: f64) -> f64
a + (b - a) * t, the scalar every other implementation is built from.
a + (b - a) * t