Trait malachite_base::num::arithmetic::traits::NegModPowerOf2Assign
source · [−]pub trait NegModPowerOf2Assign {
fn neg_mod_power_of_2_assign(&mut self, other: u64);
}
Expand description
Divides the negative of a number by $2^k$, replacing the number by the remainder.
If the quotient were computed, the quotient and remainder would satisfy $x = q2^k - r$ and $0 \leq r < 2^k$.
Required Methods
fn neg_mod_power_of_2_assign(&mut self, other: u64)
Implementations on Foreign Types
sourceimpl NegModPowerOf2Assign for u8
impl NegModPowerOf2Assign for u8
sourcefn neg_mod_power_of_2_assign(&mut self, pow: u64)
fn neg_mod_power_of_2_assign(&mut self, pow: u64)
Divides the negative of a number by $2^k$, returning just the remainder.
If the quotient were computed, the quotient and remainder would satisfy $x = q2^k - r$ and $0 \leq r < 2^k$.
$$ x \gets 2^k\left \lceil \frac{x}{2^k} \right \rceil - x. $$
Worst-case complexity
Constant time and additional memory.
Panics
Panics if self
is nonzero and pow
is greater than Self::WIDTH
.
Examples
See here.
sourceimpl NegModPowerOf2Assign for u16
impl NegModPowerOf2Assign for u16
sourcefn neg_mod_power_of_2_assign(&mut self, pow: u64)
fn neg_mod_power_of_2_assign(&mut self, pow: u64)
Divides the negative of a number by $2^k$, returning just the remainder.
If the quotient were computed, the quotient and remainder would satisfy $x = q2^k - r$ and $0 \leq r < 2^k$.
$$ x \gets 2^k\left \lceil \frac{x}{2^k} \right \rceil - x. $$
Worst-case complexity
Constant time and additional memory.
Panics
Panics if self
is nonzero and pow
is greater than Self::WIDTH
.
Examples
See here.
sourceimpl NegModPowerOf2Assign for u32
impl NegModPowerOf2Assign for u32
sourcefn neg_mod_power_of_2_assign(&mut self, pow: u64)
fn neg_mod_power_of_2_assign(&mut self, pow: u64)
Divides the negative of a number by $2^k$, returning just the remainder.
If the quotient were computed, the quotient and remainder would satisfy $x = q2^k - r$ and $0 \leq r < 2^k$.
$$ x \gets 2^k\left \lceil \frac{x}{2^k} \right \rceil - x. $$
Worst-case complexity
Constant time and additional memory.
Panics
Panics if self
is nonzero and pow
is greater than Self::WIDTH
.
Examples
See here.
sourceimpl NegModPowerOf2Assign for u64
impl NegModPowerOf2Assign for u64
sourcefn neg_mod_power_of_2_assign(&mut self, pow: u64)
fn neg_mod_power_of_2_assign(&mut self, pow: u64)
Divides the negative of a number by $2^k$, returning just the remainder.
If the quotient were computed, the quotient and remainder would satisfy $x = q2^k - r$ and $0 \leq r < 2^k$.
$$ x \gets 2^k\left \lceil \frac{x}{2^k} \right \rceil - x. $$
Worst-case complexity
Constant time and additional memory.
Panics
Panics if self
is nonzero and pow
is greater than Self::WIDTH
.
Examples
See here.
sourceimpl NegModPowerOf2Assign for u128
impl NegModPowerOf2Assign for u128
sourcefn neg_mod_power_of_2_assign(&mut self, pow: u64)
fn neg_mod_power_of_2_assign(&mut self, pow: u64)
Divides the negative of a number by $2^k$, returning just the remainder.
If the quotient were computed, the quotient and remainder would satisfy $x = q2^k - r$ and $0 \leq r < 2^k$.
$$ x \gets 2^k\left \lceil \frac{x}{2^k} \right \rceil - x. $$
Worst-case complexity
Constant time and additional memory.
Panics
Panics if self
is nonzero and pow
is greater than Self::WIDTH
.
Examples
See here.
sourceimpl NegModPowerOf2Assign for usize
impl NegModPowerOf2Assign for usize
sourcefn neg_mod_power_of_2_assign(&mut self, pow: u64)
fn neg_mod_power_of_2_assign(&mut self, pow: u64)
Divides the negative of a number by $2^k$, returning just the remainder.
If the quotient were computed, the quotient and remainder would satisfy $x = q2^k - r$ and $0 \leq r < 2^k$.
$$ x \gets 2^k\left \lceil \frac{x}{2^k} \right \rceil - x. $$
Worst-case complexity
Constant time and additional memory.
Panics
Panics if self
is nonzero and pow
is greater than Self::WIDTH
.
Examples
See here.