pub trait ResidueParams<const LIMBS: usize>:
Copy
+ Debug
+ Default
+ Eq
+ Send
+ Sync
+ 'static {
const LIMBS: usize;
const MODULUS: Uint<LIMBS>;
const R: Uint<LIMBS>;
const R2: Uint<LIMBS>;
const R3: Uint<LIMBS>;
const MOD_NEG_INV: Limb;
}
Expand description
The parameters to efficiently go to and from the Montgomery form for a given odd modulus. An easy way to generate these parameters is using the impl_modulus!
macro. These parameters are constant, so they cannot be set at runtime.
Unfortunately, LIMBS
must be generic for now until const generics are stabilized.
Required Associated Constants§
Sourceconst MOD_NEG_INV: Limb
const MOD_NEG_INV: Limb
The lowest limbs of -(MODULUS^-1) mod R
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.