pub trait Inverter {
    type Output;

    // Required method
    fn invert(&self, value: &Self::Output) -> CtOption<Self::Output>;
}
Expand description

Trait impl’d by precomputed modular inverters obtained via the PrecomputeInverter trait.

Required Associated Types§

source

type Output

Output of an inversion.

Required Methods§

source

fn invert(&self, value: &Self::Output) -> CtOption<Self::Output>

Compute a modular inversion, returning None if the result is undefined (i.e. if value is zero or isn’t prime relative to the modulus).

Implementors§

source§

impl Inverter for BoxedBernsteinYangInverter

Available on crate feature alloc only.
source§

impl<MOD: ConstMontyParams<SAT_LIMBS>, const SAT_LIMBS: usize, const UNSAT_LIMBS: usize> Inverter for ConstMontyFormInverter<MOD, SAT_LIMBS>
where Odd<Uint<SAT_LIMBS>>: PrecomputeInverter<Inverter = BernsteinYangInverter<SAT_LIMBS, UNSAT_LIMBS>, Output = Uint<SAT_LIMBS>>,

§

type Output = ConstMontyForm<MOD, SAT_LIMBS>

source§

impl<const LIMBS: usize> Inverter for MontyFormInverter<LIMBS>
where Odd<Uint<LIMBS>>: PrecomputeInverter<Output = Uint<LIMBS>>,

§

type Output = MontyForm<LIMBS>

source§

impl<const SAT_LIMBS: usize, const UNSAT_LIMBS: usize> Inverter for BernsteinYangInverter<SAT_LIMBS, UNSAT_LIMBS>

§

type Output = Uint<SAT_LIMBS>