Trait num_modular::ModularInteger
source · [−]pub trait ModularInteger: Sized + PartialEq + Add<Self, Output = Self> + Sub<Self, Output = Self> + Neg<Output = Self> + Mul<Self, Output = Self> {
type Base;
fn modulus(&self) -> Self::Base;
fn residue(&self) -> Self::Base;
fn is_zero(&self) -> bool;
fn convert(&self, n: Self::Base) -> Self;
fn double(self) -> Self;
fn square(self) -> Self;
}
Expand description
Represents an number defined in a modulo ring ℤ/nℤ
The operators should panic if the modulus of two number are not the same.
Required Associated Types
Required Methods
Convert an normal integer into the same ring.
This method should be perferred over the static constructor to prevent unnecessary overhead of pre-computation.