Struct ff::BatchInverter
source · pub struct BatchInverter {}Expand description
A non-allocating batch inverter.
Implementations§
source§impl BatchInverter
impl BatchInverter
sourcepub fn invert_with_external_scratch<F>(
elements: &mut [F],
scratch_space: &mut [F]
) -> Fwhere
F: Field + ConstantTimeEq,
pub fn invert_with_external_scratch<F>(
elements: &mut [F],
scratch_space: &mut [F]
) -> Fwhere
F: Field + ConstantTimeEq,
Inverts each field element in elements (when nonzero). Zero-valued elements are
left as zero.
scratch_spaceis a slice of field elements that can be freely overwritten.
Returns the inverse of the product of all nonzero field elements.
Panics
This function will panic if elements.len() != scratch_space.len().
sourcepub fn invert_with_internal_scratch<F, T, TE, TS>(
items: &mut [T],
element: TE,
scratch_space: TS
) -> Fwhere
F: Field + ConstantTimeEq,
TE: Fn(&mut T) -> &mut F,
TS: Fn(&mut T) -> &mut F,
pub fn invert_with_internal_scratch<F, T, TE, TS>(
items: &mut [T],
element: TE,
scratch_space: TS
) -> Fwhere
F: Field + ConstantTimeEq,
TE: Fn(&mut T) -> &mut F,
TS: Fn(&mut T) -> &mut F,
Inverts each field element in items (when nonzero). Zero-valued elements are
left as zero.
elementis a function that extracts the element to be inverted fromitems.scratch_spaceis a function that extracts the scratch space fromitems.
Returns the inverse of the product of all nonzero field elements.