Trait Saturating

Source
pub trait Saturating {
    // Required methods
    fn saturating_add(self, rhs: Self) -> Self;
    fn saturating_sub(self, rhs: Self) -> Self;
    fn saturating_mul(self, rhs: Self) -> Self;
    fn saturating_pow(self, exp: usize) -> Self;

    // Provided methods
    fn saturating_less_one(self) -> Self
       where Self: One { ... }
    fn saturating_plus_one(self) -> Self
       where Self: One { ... }
    fn saturating_inc(&mut self)
       where Self: One { ... }
    fn saturating_dec(&mut self)
       where Self: One { ... }
    fn saturating_accrue(&mut self, amount: Self)
       where Self: One { ... }
    fn saturating_reduce(&mut self, amount: Self)
       where Self: One { ... }
}
Expand description

Saturating arithmetic operations, returning maximum or minimum values instead of overflowing.

Required Methods§

Source

fn saturating_add(self, rhs: Self) -> Self

Saturating addition. Compute self + rhs, saturating at the numeric bounds instead of overflowing.

Source

fn saturating_sub(self, rhs: Self) -> Self

Saturating subtraction. Compute self - rhs, saturating at the numeric bounds instead of overflowing.

Source

fn saturating_mul(self, rhs: Self) -> Self

Saturating multiply. Compute self * rhs, saturating at the numeric bounds instead of overflowing.

Source

fn saturating_pow(self, exp: usize) -> Self

Saturating exponentiation. Compute self.pow(exp), saturating at the numeric bounds instead of overflowing.

Provided Methods§

Source

fn saturating_less_one(self) -> Self
where Self: One,

Decrement self by one, saturating at zero.

Source

fn saturating_plus_one(self) -> Self
where Self: One,

Increment self by one, saturating at the numeric bounds instead of overflowing.

Source

fn saturating_inc(&mut self)
where Self: One,

Increment self by one, saturating.

Source

fn saturating_dec(&mut self)
where Self: One,

Decrement self by one, saturating at zero.

Source

fn saturating_accrue(&mut self, amount: Self)
where Self: One,

Increment self by some amount, saturating.

Source

fn saturating_reduce(&mut self, amount: Self)
where Self: One,

Decrement self by some amount, saturating at zero.

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.

Implementors§