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_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_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.

Implementors§