Clamp

Trait Clamp 

Source
pub trait Clamp:
    ConstOne
    + ConstZero
    + PartialOrd {
    const MIN: Self;
    const MAX: Self;

    // Provided method
    fn clamp(self, min: Self, max: Self) -> Self { ... }
}
Expand description

Constants

Required Associated Constants§

Source

const MIN: Self

Lowest value

Negative infinity for floating point values.

assert_eq!(<i8 as Clamp>::MIN, -128);
assert_eq!(<f32 as Clamp>::MIN, f32::NEG_INFINITY);
Source

const MAX: Self

Highest value

Positive infinity for floating point values.

assert_eq!(<i8 as Clamp>::MAX, 127);

Provided Methods§

Source

fn clamp(self, min: Self, max: Self) -> Self

Clamp

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Clamp for f32

Source§

const MIN: Self = f32::NEG_INFINITY

Source§

const MAX: Self = f32::INFINITY

Source§

impl Clamp for f64

Source§

const MIN: Self = f64::NEG_INFINITY

Source§

const MAX: Self = f64::INFINITY

Source§

impl Clamp for i8

Source§

const MIN: Self = i8::MIN

Source§

const MAX: Self = i8::MAX

Source§

impl Clamp for i16

Source§

const MIN: Self = i16::MIN

Source§

const MAX: Self = i16::MAX

Source§

impl Clamp for i32

Source§

const MIN: Self = i32::MIN

Source§

const MAX: Self = i32::MAX

Source§

impl Clamp for i64

Source§

const MIN: Self = i64::MIN

Source§

const MAX: Self = i64::MAX

Source§

impl Clamp for i128

Source§

const MIN: Self = i128::MIN

Source§

const MAX: Self = i128::MAX

Source§

impl Clamp for isize

Source§

const MIN: Self = isize::MIN

Source§

const MAX: Self = isize::MAX

Source§

impl Clamp for u8

Source§

const MIN: Self = u8::MIN

Source§

const MAX: Self = u8::MAX

Source§

impl Clamp for u16

Source§

const MIN: Self = u16::MIN

Source§

const MAX: Self = u16::MAX

Source§

impl Clamp for u32

Source§

const MIN: Self = u32::MIN

Source§

const MAX: Self = u32::MAX

Source§

impl Clamp for u64

Source§

const MIN: Self = u64::MIN

Source§

const MAX: Self = u64::MAX

Source§

impl Clamp for u128

Source§

const MIN: Self = u128::MIN

Source§

const MAX: Self = u128::MAX

Source§

impl Clamp for usize

Source§

const MIN: Self = usize::MIN

Source§

const MAX: Self = usize::MAX

Source§

impl<T: Clamp + Shift + Copy + PartialOrd, A, const F: i8> Clamp for Q<T, A, F>
where Self: ConstOne,

Source§

const MIN: Self

Lowest value

assert_eq!(Q8::<4>::MIN, (-16f32).as_());
Source§

const MAX: Self

Highest value

assert_eq!(Q8::<4>::MAX, (16.0f32 - 1.0 / 16.0).as_());

Implementors§