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.