1pub fn constrain_f(val: f32, lo: f32, hi: f32) -> f32 {
10 if val < lo {lo} else if val > hi {hi} else {val }
11}
12
13pub fn constrain(val: f32, lo: f32, hi: f32) -> f32 {
14 if val < lo {lo} else if val > hi {hi} else {val}
15}
16
17pub fn constrain_abs(val : f32, limit : f32) -> f32 {
18 constrain(val, -limit, limit)
19}
20
21pub fn rescale(val: f32, oldmin: f32, oldmax: f32, newmin: f32, newmax: f32) -> f32 {
22
23 newmin + (val - oldmin) / (oldmax - oldmin) * (newmax - newmin)
24}
25
26pub fn rad2deg(rad: f32) -> f32 {
27
28 180.0 * rad / std::f32::consts::PI
29}