1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
//! Shared mathematical utility functions. /// Cut value to be inside given range /// /// ``` /// use image::math::utils; /// /// assert_eq!(utils::clamp(-5, 0, 10), 0); /// assert_eq!(utils::clamp( 6, 0, 10), 6); /// assert_eq!(utils::clamp(15, 0, 10), 10); /// ``` pub fn clamp<N>(a: N, min: N, max: N) -> N where N: PartialOrd { match () { () if a < min => min, () if a > max => max, _ => a } }