pub struct Modulo<'a>(_);
Expand description
Modular arithmetic.
Examples
let ring = ModuloRing::new(ubig!(10000));
let x = ring.convert(12345);
let y = ring.convert(55443);
assert_eq!((x - y).residue(), ubig!(6902));
Implementations
sourceimpl<'a> Modulo<'a>
impl<'a> Modulo<'a>
sourcepub fn panic_different_rings() -> !
pub fn panic_different_rings() -> !
Panics when trying to do operations on Modulo values from different rings.
Trait Implementations
sourceimpl<'a> AddAssign<&Modulo<'a>> for Modulo<'a>
impl<'a> AddAssign<&Modulo<'a>> for Modulo<'a>
sourcefn add_assign(&mut self, rhs: &Modulo<'a>)
fn add_assign(&mut self, rhs: &Modulo<'a>)
Performs the +=
operation. Read more
sourceimpl<'a> AddAssign<Modulo<'a>> for Modulo<'a>
impl<'a> AddAssign<Modulo<'a>> for Modulo<'a>
sourcefn add_assign(&mut self, rhs: Modulo<'a>)
fn add_assign(&mut self, rhs: Modulo<'a>)
Performs the +=
operation. Read more
sourceimpl<'a> MulAssign<&Modulo<'a>> for Modulo<'a>
impl<'a> MulAssign<&Modulo<'a>> for Modulo<'a>
sourcefn mul_assign(&mut self, rhs: &Modulo<'a>)
fn mul_assign(&mut self, rhs: &Modulo<'a>)
Performs the *=
operation. Read more
sourceimpl<'a> MulAssign<Modulo<'a>> for Modulo<'a>
impl<'a> MulAssign<Modulo<'a>> for Modulo<'a>
sourcefn mul_assign(&mut self, rhs: Modulo<'a>)
fn mul_assign(&mut self, rhs: Modulo<'a>)
Performs the *=
operation. Read more
sourceimpl<'a> SubAssign<&Modulo<'a>> for Modulo<'a>
impl<'a> SubAssign<&Modulo<'a>> for Modulo<'a>
sourcefn sub_assign(&mut self, rhs: &Modulo<'a>)
fn sub_assign(&mut self, rhs: &Modulo<'a>)
Performs the -=
operation. Read more
sourceimpl<'a> SubAssign<Modulo<'a>> for Modulo<'a>
impl<'a> SubAssign<Modulo<'a>> for Modulo<'a>
sourcefn sub_assign(&mut self, rhs: Modulo<'a>)
fn sub_assign(&mut self, rhs: Modulo<'a>)
Performs the -=
operation. Read more
impl Eq for Modulo<'_>
Auto Trait Implementations
impl<'a> RefUnwindSafe for Modulo<'a>
impl<'a> Send for Modulo<'a>
impl<'a> Sync for Modulo<'a>
impl<'a> Unpin for Modulo<'a>
impl<'a> UnwindSafe for Modulo<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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