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
> }
>}
>```