Trait Saturating
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§
fn saturating_add(self, rhs: Self) -> Self
fn saturating_add(self, rhs: Self) -> Self
Saturating addition. Compute self + rhs, saturating at the numeric bounds instead of
overflowing.
fn saturating_sub(self, rhs: Self) -> Self
fn saturating_sub(self, rhs: Self) -> Self
Saturating subtraction. Compute self - rhs, saturating at the numeric bounds instead of
overflowing.
fn saturating_mul(self, rhs: Self) -> Self
fn saturating_mul(self, rhs: Self) -> Self
Saturating multiply. Compute self * rhs, saturating at the numeric bounds instead of
overflowing.
fn saturating_pow(self, exp: usize) -> Self
fn saturating_pow(self, exp: usize) -> Self
Saturating exponentiation. Compute self.pow(exp), saturating at the numeric bounds
instead of overflowing.
Provided Methods§
fn saturating_less_one(self) -> Selfwhere
    Self: One,
fn saturating_less_one(self) -> Selfwhere
    Self: One,
Decrement self by one, saturating at zero.
fn saturating_plus_one(self) -> Selfwhere
    Self: One,
fn saturating_plus_one(self) -> Selfwhere
    Self: One,
Increment self by one, saturating at the numeric bounds instead of overflowing.
fn saturating_inc(&mut self)where
    Self: One,
fn saturating_inc(&mut self)where
    Self: One,
Increment self by one, saturating.
fn saturating_dec(&mut self)where
    Self: One,
fn saturating_dec(&mut self)where
    Self: One,
Decrement self by one, saturating at zero.
fn saturating_accrue(&mut self, amount: Self)where
    Self: One,
fn saturating_accrue(&mut self, amount: Self)where
    Self: One,
Increment self by some amount, saturating.
fn saturating_reduce(&mut self, amount: Self)where
    Self: One,
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.