// map value from one range to another if the value exceeds the input range, it will also exceed the output range
// map value from one range to another the output value is clamped, and will be inside the output range
// blend between value `a` and `b`, with the normalized value `t`
// get the relative, normalized position of `value` between `a` and `b` the result is unclamped, and can exceed 0..1
// get the relative, normalized position of `value` between `a` and `b` the result is clamped, and can not exceed 0..1
// get the clamped value of `value` between `min` and `max`
// get the clamped value of `value` between `0` and `1`
// get the Power of Two, closed to `value` it can be lower or bigger than value
// get next larger/equal Power of Two to `value`
// bounce `value` between itself and `length` generates a triangle wave