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_space
is 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,
) -> F
pub fn invert_with_internal_scratch<F, T, TE, TS>( items: &mut [T], element: TE, scratch_space: TS, ) -> F
Inverts each field element in items
(when nonzero). Zero-valued elements are
left as zero.
element
is a function that extracts the element to be inverted fromitems
.scratch_space
is a function that extracts the scratch space fromitems
.
Returns the inverse of the product of all nonzero field elements.
Auto Trait Implementations§
impl Freeze for BatchInverter
impl RefUnwindSafe for BatchInverter
impl Send for BatchInverter
impl Sync for BatchInverter
impl Unpin for BatchInverter
impl UnwindSafe for BatchInverter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more