Trait malachite_base::num::arithmetic::traits::SaturatingNegAssign
source · [−]pub trait SaturatingNegAssign {
fn saturating_neg_assign(&mut self);
}
Expand description
Negates a number in place, saturating at the numeric bounds instead of overflowing.
Required Methods
fn saturating_neg_assign(&mut self)
Implementations on Foreign Types
sourceimpl SaturatingNegAssign for i8
impl SaturatingNegAssign for i8
sourcefn saturating_neg_assign(&mut self)
fn saturating_neg_assign(&mut self)
Negates a number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
-x & \text{if} \quad x^2 > -2^{W-1}, \\
2^{W-1} - 1 & \text{if} \quad x = -2^{W-1},
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingNegAssign for i16
impl SaturatingNegAssign for i16
sourcefn saturating_neg_assign(&mut self)
fn saturating_neg_assign(&mut self)
Negates a number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
-x & \text{if} \quad x^2 > -2^{W-1}, \\
2^{W-1} - 1 & \text{if} \quad x = -2^{W-1},
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingNegAssign for i32
impl SaturatingNegAssign for i32
sourcefn saturating_neg_assign(&mut self)
fn saturating_neg_assign(&mut self)
Negates a number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
-x & \text{if} \quad x^2 > -2^{W-1}, \\
2^{W-1} - 1 & \text{if} \quad x = -2^{W-1},
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingNegAssign for i64
impl SaturatingNegAssign for i64
sourcefn saturating_neg_assign(&mut self)
fn saturating_neg_assign(&mut self)
Negates a number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
-x & \text{if} \quad x^2 > -2^{W-1}, \\
2^{W-1} - 1 & \text{if} \quad x = -2^{W-1},
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingNegAssign for i128
impl SaturatingNegAssign for i128
sourcefn saturating_neg_assign(&mut self)
fn saturating_neg_assign(&mut self)
Negates a number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
-x & \text{if} \quad x^2 > -2^{W-1}, \\
2^{W-1} - 1 & \text{if} \quad x = -2^{W-1},
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl SaturatingNegAssign for isize
impl SaturatingNegAssign for isize
sourcefn saturating_neg_assign(&mut self)
fn saturating_neg_assign(&mut self)
Negates a number in place, saturating at the numeric bounds instead of overflowing.
$$
x \gets \begin{cases}
-x & \text{if} \quad x^2 > -2^{W-1}, \\
2^{W-1} - 1 & \text{if} \quad x = -2^{W-1},
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.