Skip to content

lerp

Linear interpolation between from and to: from at t = 0, to at t = 1.

t is not clamped, so values outside 0..=1 extrapolate. Written as from * (1 - t) + to * t, it is exact at both ends.

use helpers4::number::lerp;

Cargo feature number (enabled by default). To compile only this module:

cargo add helpers4 --no-default-features --features number

or in Cargo.toml:

[dependencies]
helpers4 = { version = "0.0.5", default-features = false, features = ["number"] }
pub fn lerp(from: f64, to: f64, t: f64) -> f64
ParameterTypeDescription
fromf64The value at t = 0.
tof64The value at t = 1.
tf64How far to interpolate between from and to.

f64

use helpers4::number::lerp;

assert_eq!(lerp(10.0, 20.0, 0.5), 15.0);
assert_eq!(lerp(0.0, 100.0, 1.0), 100.0);
assert_eq!(lerp(0.0, 10.0, 1.5), 15.0);

src/number/lerp.rs