Struct strength_reduce::StrengthReducedU128
source · pub struct StrengthReducedU128 { /* private fields */ }
Expand description
Implements unsigned division and modulo via mutiplication and shifts.
Creating a an instance of this struct is more expensive than a single division, but if the division is repeated, this version will be several times faster than naive division.
Implementations
sourceimpl StrengthReducedU128
impl StrengthReducedU128
sourcepub fn new(divisor: u128) -> Self
pub fn new(divisor: u128) -> Self
Creates a new divisor instance.
If possible, avoid calling new() from an inner loop: The intended usage is to create an instance of this struct outside the loop, and use it for divison and remainders inside the loop.
Panics:
Panics if divisor
is 0
Trait Implementations
sourceimpl Clone for StrengthReducedU128
impl Clone for StrengthReducedU128
sourcefn clone(&self) -> StrengthReducedU128
fn clone(&self) -> StrengthReducedU128
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for StrengthReducedU128
impl Debug for StrengthReducedU128
sourceimpl Div<StrengthReducedU128> for u128
impl Div<StrengthReducedU128> for u128
sourceimpl Rem<StrengthReducedU128> for u128
impl Rem<StrengthReducedU128> for u128
impl Copy for StrengthReducedU128
Auto Trait Implementations
impl RefUnwindSafe for StrengthReducedU128
impl Send for StrengthReducedU128
impl Sync for StrengthReducedU128
impl Unpin for StrengthReducedU128
impl UnwindSafe for StrengthReducedU128
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more