pub struct StrengthReducedU16 { /* 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 StrengthReducedU16
impl StrengthReducedU16
Sourcepub fn new(divisor: u16) -> Self
pub fn new(divisor: u16) -> 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 StrengthReducedU16
impl Clone for StrengthReducedU16
Source§fn clone(&self) -> StrengthReducedU16
fn clone(&self) -> StrengthReducedU16
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 moreSource§impl Debug for StrengthReducedU16
impl Debug for StrengthReducedU16
Source§impl Div<StrengthReducedU16> for u16
impl Div<StrengthReducedU16> for u16
Source§impl Rem<StrengthReducedU16> for u16
impl Rem<StrengthReducedU16> for u16
impl Copy for StrengthReducedU16
Auto Trait Implementations§
impl Freeze for StrengthReducedU16
impl RefUnwindSafe for StrengthReducedU16
impl Send for StrengthReducedU16
impl Sync for StrengthReducedU16
impl Unpin for StrengthReducedU16
impl UnwindSafe for StrengthReducedU16
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more