pub trait ModularArithmetic where Self: Sized {
fn modinv(a: &Self, prime: &Self) -> Self;
fn modpow(x: &Self, e: &Self, prime: &Self) -> Self;
fn egcd(a: &Self, b: &Self) -> (Self, Self, Self);
fn divmod(dividend: &Self, module: &Self) -> (Self, Self);
}
Required Methods
fn modinv(a: &Self, prime: &Self) -> Self
fn modpow(x: &Self, e: &Self, prime: &Self) -> Self
fn egcd(a: &Self, b: &Self) -> (Self, Self, Self)
fn divmod(dividend: &Self, module: &Self) -> (Self, Self)
Implementors
impl<I> ModularArithmetic for I where I: Clone + Sized,
I: Zero + One + Neg<Output=I> + NumberTests,
&'a I: Mul<I, Output=I>,
&'a I: Mul<&'b I, Output=I>,
&'a I: Div<&'b I, Output=I>,
I: Rem<&'a I, Output=I>,
&'a I: Rem<&'b I, Output=I>,
&'a I: Add<&'b I, Output=I>,
I: Sub<I, Output=I>,
I: Sub<&'b I, Output=I>,
&'a I: Sub<&'b I, Output=I>,
I: Shr<usize, Output=I>
impl ModularArithmetic for Int