Lerp

Linear interpolation and iteration, automatically implemented over most float-compatible types.

Just need to know what's halfway between three and five?

```rust use lerp::Lerp;

assert_eq!(3.0.lerp(5.0, 0.5), 4.0); ```

Want to iterate across some points in that range?

rust use lerp::LerpIter; // lerp between 3 and 5, collecting two items let items: Vec<_> = 3.0_f64.lerp_iter(5.0, 4).collect(); assert_eq!(vec![3.0, 3.5, 4.0, 4.5], items); assert_eq!(vec![3.0, 5.0], 3.0.lerp_iter_closed(5.0, 2).collect::<Vec<_>>());

Of course, the real benefit is that it's derivation is broad enough that it also covers types such as num::Complex<T>. If you have an array-processing library, and the arrays are T: Copy + Add<Output = T> + Sub<Output = T> + Mul<F: Float, Output = T>, it'll just work for them as well.

Usage

toml [dependeencies] lerp = "0.1"

Documentation

Coming soon! I've never used Github Pages before.