pub fn map_linear<T>(val: T, range_in: (T, T), range_out: (T, T)) -> Twhere T: Float,
Linearly map an input value to an output