Struct dashu::integer::fast_div::ConstDivisor
source · pub struct ConstDivisor(/* private fields */);Expand description
An UBig with some pre-computed fields to support faster division.
Implementations§
source§impl ConstDivisor
impl ConstDivisor
pub fn new(n: UBig) -> ConstDivisor
pub const fn from_word(word: u64) -> ConstDivisor
pub const fn from_dword(dword: u128) -> ConstDivisor
pub fn value(&self) -> UBig
Trait Implementations§
source§impl Debug for ConstDivisor
impl Debug for ConstDivisor
source§impl Display for ConstDivisor
impl Display for ConstDivisor
source§impl<'l, 'r> Div<&'r ConstDivisor> for &'l IBig
impl<'l, 'r> Div<&'r ConstDivisor> for &'l IBig
source§impl<'l, 'r> Div<&'r ConstDivisor> for &'l UBig
impl<'l, 'r> Div<&'r ConstDivisor> for &'l UBig
source§impl<'r> Div<&'r ConstDivisor> for IBig
impl<'r> Div<&'r ConstDivisor> for IBig
source§impl<'r> Div<&'r ConstDivisor> for UBig
impl<'r> Div<&'r ConstDivisor> for UBig
source§impl<'r> DivAssign<&'r ConstDivisor> for IBig
impl<'r> DivAssign<&'r ConstDivisor> for IBig
source§fn div_assign(&mut self, rhs: &'r ConstDivisor)
fn div_assign(&mut self, rhs: &'r ConstDivisor)
Performs the
/= operation. Read moresource§impl<'r> DivAssign<&'r ConstDivisor> for UBig
impl<'r> DivAssign<&'r ConstDivisor> for UBig
source§fn div_assign(&mut self, rhs: &'r ConstDivisor)
fn div_assign(&mut self, rhs: &'r ConstDivisor)
Performs the
/= operation. Read moresource§impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l IBig
impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l IBig
source§impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l UBig
impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l UBig
source§impl<'r> DivRem<&'r ConstDivisor> for IBig
impl<'r> DivRem<&'r ConstDivisor> for IBig
source§impl<'r> DivRem<&'r ConstDivisor> for UBig
impl<'r> DivRem<&'r ConstDivisor> for UBig
source§impl<'r> DivRemAssign<&'r ConstDivisor> for IBig
impl<'r> DivRemAssign<&'r ConstDivisor> for IBig
type OutputRem = IBig
fn div_rem_assign(&mut self, rhs: &ConstDivisor) -> IBig
source§impl<'r> DivRemAssign<&'r ConstDivisor> for UBig
impl<'r> DivRemAssign<&'r ConstDivisor> for UBig
type OutputRem = UBig
fn div_rem_assign(&mut self, rhs: &ConstDivisor) -> UBig
source§impl<'a> IntoRing<'a, ConstDivisor> for IBig
impl<'a> IntoRing<'a, ConstDivisor> for IBig
type RingElement = Reduced<'a>
fn into_ring(self, ring: &ConstDivisor) -> Reduced<'_>
source§impl<'a> IntoRing<'a, ConstDivisor> for UBig
impl<'a> IntoRing<'a, ConstDivisor> for UBig
type RingElement = Reduced<'a>
fn into_ring(self, ring: &ConstDivisor) -> Reduced<'_>
source§impl<'a> IntoRing<'a, ConstDivisor> for bool
impl<'a> IntoRing<'a, ConstDivisor> for bool
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for i128
impl<'a> IntoRing<'a, ConstDivisor> for i128
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for i16
impl<'a> IntoRing<'a, ConstDivisor> for i16
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for i32
impl<'a> IntoRing<'a, ConstDivisor> for i32
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for i64
impl<'a> IntoRing<'a, ConstDivisor> for i64
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for i8
impl<'a> IntoRing<'a, ConstDivisor> for i8
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for isize
impl<'a> IntoRing<'a, ConstDivisor> for isize
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for u128
impl<'a> IntoRing<'a, ConstDivisor> for u128
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for u16
impl<'a> IntoRing<'a, ConstDivisor> for u16
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for u32
impl<'a> IntoRing<'a, ConstDivisor> for u32
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for u64
impl<'a> IntoRing<'a, ConstDivisor> for u64
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for u8
impl<'a> IntoRing<'a, ConstDivisor> for u8
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl<'a> IntoRing<'a, ConstDivisor> for usize
impl<'a> IntoRing<'a, ConstDivisor> for usize
type RingElement = Reduced<'a>
fn into_ring(self, ring: &'a ConstDivisor) -> Reduced<'a>
source§impl PartialEq for ConstDivisor
impl PartialEq for ConstDivisor
source§fn eq(&self, other: &ConstDivisor) -> bool
fn eq(&self, other: &ConstDivisor) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl Reducer<UBig> for ConstDivisor
impl Reducer<UBig> for ConstDivisor
source§fn new(m: &UBig) -> ConstDivisor
fn new(m: &UBig) -> ConstDivisor
Create a reducer for a modulus m
source§fn inv(&self, target: UBig) -> Option<UBig>
fn inv(&self, target: UBig) -> Option<UBig>
Calculate target^-1 mod m in reduced form,
it may return None when there is no modular inverse.
fn add_in_place(&self, lhs: &mut T, rhs: &T)
fn sub_in_place(&self, lhs: &mut T, rhs: &T)
fn mul_in_place(&self, lhs: &mut T, rhs: &T)
source§impl<'l, 'r> Rem<&'r ConstDivisor> for &'l IBig
impl<'l, 'r> Rem<&'r ConstDivisor> for &'l IBig
source§impl<'l, 'r> Rem<&'r ConstDivisor> for &'l UBig
impl<'l, 'r> Rem<&'r ConstDivisor> for &'l UBig
source§impl<'r> Rem<&'r ConstDivisor> for IBig
impl<'r> Rem<&'r ConstDivisor> for IBig
source§impl<'r> Rem<&'r ConstDivisor> for UBig
impl<'r> Rem<&'r ConstDivisor> for UBig
source§impl<'r> RemAssign<&'r ConstDivisor> for IBig
impl<'r> RemAssign<&'r ConstDivisor> for IBig
source§fn rem_assign(&mut self, rhs: &'r ConstDivisor)
fn rem_assign(&mut self, rhs: &'r ConstDivisor)
Performs the
%= operation. Read moresource§impl<'r> RemAssign<&'r ConstDivisor> for UBig
impl<'r> RemAssign<&'r ConstDivisor> for UBig
source§fn rem_assign(&mut self, rhs: &'r ConstDivisor)
fn rem_assign(&mut self, rhs: &'r ConstDivisor)
Performs the
%= operation. Read moreimpl Eq for ConstDivisor
impl StructuralPartialEq for ConstDivisor
Auto Trait Implementations§
impl Freeze for ConstDivisor
impl RefUnwindSafe for ConstDivisor
impl Send for ConstDivisor
impl Sync for ConstDivisor
impl Unpin for ConstDivisor
impl UnwindSafe for ConstDivisor
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