Trait malachite_base::num::arithmetic::traits::SaturatingSubAssign
source · [−]pub trait SaturatingSubAssign<RHS = Self> {
fn saturating_sub_assign(&mut self, other: RHS);
}
Expand description
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
Required Methods
fn saturating_sub_assign(&mut self, other: RHS)
Implementations on Foreign Types
sourceimpl SaturatingSubAssign<u8> for u8
impl SaturatingSubAssign<u8> for u8
sourcefn saturating_sub_assign(&mut self, other: u8)
fn saturating_sub_assign(&mut self, other: u8)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<u16> for u16
impl SaturatingSubAssign<u16> for u16
sourcefn saturating_sub_assign(&mut self, other: u16)
fn saturating_sub_assign(&mut self, other: u16)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<u32> for u32
impl SaturatingSubAssign<u32> for u32
sourcefn saturating_sub_assign(&mut self, other: u32)
fn saturating_sub_assign(&mut self, other: u32)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<u64> for u64
impl SaturatingSubAssign<u64> for u64
sourcefn saturating_sub_assign(&mut self, other: u64)
fn saturating_sub_assign(&mut self, other: u64)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<u128> for u128
impl SaturatingSubAssign<u128> for u128
sourcefn saturating_sub_assign(&mut self, other: u128)
fn saturating_sub_assign(&mut self, other: u128)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<usize> for usize
impl SaturatingSubAssign<usize> for usize
sourcefn saturating_sub_assign(&mut self, other: usize)
fn saturating_sub_assign(&mut self, other: usize)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<i8> for i8
impl SaturatingSubAssign<i8> for i8
sourcefn saturating_sub_assign(&mut self, other: i8)
fn saturating_sub_assign(&mut self, other: i8)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<i16> for i16
impl SaturatingSubAssign<i16> for i16
sourcefn saturating_sub_assign(&mut self, other: i16)
fn saturating_sub_assign(&mut self, other: i16)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<i32> for i32
impl SaturatingSubAssign<i32> for i32
sourcefn saturating_sub_assign(&mut self, other: i32)
fn saturating_sub_assign(&mut self, other: i32)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<i64> for i64
impl SaturatingSubAssign<i64> for i64
sourcefn saturating_sub_assign(&mut self, other: i64)
fn saturating_sub_assign(&mut self, other: i64)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<i128> for i128
impl SaturatingSubAssign<i128> for i128
sourcefn saturating_sub_assign(&mut self, other: i128)
fn saturating_sub_assign(&mut self, other: i128)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingSubAssign<isize> for isize
impl SaturatingSubAssign<isize> for isize
sourcefn saturating_sub_assign(&mut self, other: isize)
fn saturating_sub_assign(&mut self, other: isize)
Subtracts a number by another number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
x - y & \text{if} \quad m \leq x - y \leq M, \\
M & \text{if} \quad x - y > M, \\
m & \text{if} \quad x - y < m,
\end{cases}
$$
where $m$ is Self::MIN
and $M$ is Self::MAX
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.