pub trait MIntBase {
type Inner: Sized + Copy + Eq + Debug + Hash;
// Required methods
fn get_mod() -> Self::Inner;
fn mod_zero() -> Self::Inner;
fn mod_one() -> Self::Inner;
fn mod_add(x: Self::Inner, y: Self::Inner) -> Self::Inner;
fn mod_sub(x: Self::Inner, y: Self::Inner) -> Self::Inner;
fn mod_mul(x: Self::Inner, y: Self::Inner) -> Self::Inner;
fn mod_div(x: Self::Inner, y: Self::Inner) -> Self::Inner;
fn mod_neg(x: Self::Inner) -> Self::Inner;
fn mod_inv(x: Self::Inner) -> Self::Inner;
// Provided methods
fn mod_pow(x: Self::Inner, y: usize) -> Self::Inner { ... }
fn mod_inner(x: Self::Inner) -> Self::Inner { ... }
}
Required Associated Types§
Required Methods§
fn get_mod() -> Self::Inner
fn mod_zero() -> Self::Inner
fn mod_one() -> Self::Inner
fn mod_add(x: Self::Inner, y: Self::Inner) -> Self::Inner
fn mod_sub(x: Self::Inner, y: Self::Inner) -> Self::Inner
fn mod_mul(x: Self::Inner, y: Self::Inner) -> Self::Inner
fn mod_div(x: Self::Inner, y: Self::Inner) -> Self::Inner
fn mod_neg(x: Self::Inner) -> Self::Inner
fn mod_inv(x: Self::Inner) -> Self::Inner
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.