Normalized Range Mapper

Test Documentation Crates.io License

A Rust helper than maps ranges of values to and from the normalized range [0.0, 1.0] using various gradients, useful for DSP applications.

(currently in beta)

Gradient Types

Example

```rust // Import normal mappers that uses internal f32 values. // (f64 is available as well) use normal_map::f32::*;

// Linear mapper let lin_map = LinearMap::new(-50.0, 50.0, Unit::Generic);

assert!((linmap.normalize(25.0) - 0.75).abs() <= 0.0001); assert!((linmap.denormalize(0.25) - (-25.0)).abs() <= 0.0001);

// Efficiently map an array/slice of values. let innormals = [0.0f32, 1.0, 0.25, -0.25]; let mut outvalues = [0.0f32; 4]; linmap.denormalizearray(&innormals, &mut outvalues);

// Generic type for any mapper let normal_map = NormalMap::discrete::(-5, 5);

assert!((normal_map.normalize(3 as f32) - 0.8).abs() <= 0.0001); ```