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§
Sourcefn 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.
Sourcefn 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.
Sourcefn 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.
Sourcefn 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§
Sourcefn saturating_less_one(self) -> Selfwhere
Self: One,
fn saturating_less_one(self) -> Selfwhere
Self: One,
Decrement self by one, saturating at zero.
Sourcefn 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.
Sourcefn saturating_inc(&mut self)where
Self: One,
fn saturating_inc(&mut self)where
Self: One,
Increment self by one, saturating.
Sourcefn saturating_dec(&mut self)where
Self: One,
fn saturating_dec(&mut self)where
Self: One,
Decrement self by one, saturating at zero.
Sourcefn 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.
Sourcefn 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.