Files
rdsp-experiments/src/math.rs

10 lines
330 B
Rust

use std::ops::{Add, Mul, Sub, Div};
// Useful math used throughout
pub fn map<T>(input: T, in_min: T, in_max: T, out_min: T, out_max: T) -> T
where
T: Clone + Add<Output = T> + Mul<Output = T> + Sub<Output = T> + Div<Output = T>,
{
((input - in_min.clone()) / (in_max - in_min)) * (out_max - out_min.clone()) + out_min
}