1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// iunorm::fns
//
//!
//
/// Scales an `f32` `v`alue in between `[min..=max]` to a new range `[a..=b]`.
///
/// $$ \large v' = (b - a) \frac{v - min}{max - min} + a $$
///
/// # Examples
/// ```
/// # use iunorm::scale32;
/// assert_eq![0.25, scale32(90., 0., 360., 0., 1.)];
/// assert_eq![-0.5, scale32(90., 0., 360., -1., 1.)];
///
/// assert_eq![90., scale32(0.25, 0., 1., 0., 360.)];
/// assert_eq![90., scale32(-0.5, -1., 1., 0., 360.)];
/// ```
/// Scales an `f64` `v`alue in between `[min..=max]` to a new range `[a..=b]`.
///
/// $$ \large v' = (b - a) \frac{v - min}{max - min} + a $$
///
/// # Examples
/// ```
/// # use iunorm::scale64;
/// assert_eq![0.125, scale64(45., 0., 360., 0., 1.)];
/// assert_eq![-0.75, scale64(45., 0., 360., -1., 1.)];
///
/// assert_eq![45., scale64(0.125, 0., 1., 0., 360.)];
/// assert_eq![45., scale64(-0.75, -1., 1., 0., 360.)];
/// ```