Struct strength_reduce::StrengthReducedUsize
source · pub struct StrengthReducedUsize { /* 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§
source§impl StrengthReducedUsize
impl StrengthReducedUsize
sourcepub fn new(divisor: usize) -> Self
pub fn new(divisor: usize) -> 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§
source§impl Clone for StrengthReducedUsize
impl Clone for StrengthReducedUsize
source§fn clone(&self) -> StrengthReducedUsize
fn clone(&self) -> StrengthReducedUsize
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more