The [[Clamp]] of a value $x$ type with a [[Comparison]] [[Binary Operation]] between two other values $a, b$ is defined as: $\huge \op{clamp}(x,a,b) =\begin{cases} b &\text{if } x> b\\ a &\text{if } x< a\\ x \end{cases} $ Or $\huge \op{clamp}(x,a,b) = \min(\max(x,a),b) $ >[!example] Code Example >```rust >fn min<T: PartialOrd>(x: T, a: T, b:T) { > if x > a { > a > } else if x < b { > b > } else { > x > } >} >```