pub trait BatchInvert<FieldElements: ?Sized>: Invert + Sized {
type Output: AsRef<[Self]>;
// Required method
fn batch_invert(
field_elements: &FieldElements,
) -> CtOption<<Self as BatchInvert<FieldElements>>::Output>;
}
Available on crate feature
arithmetic
only.Expand description
Perform a batched inversion on a sequence of field elements (i.e. base field elements or scalars) at an amortized cost that should be practically as efficient as a single inversion.
Required Associated Types§
Required Methods§
Sourcefn batch_invert(
field_elements: &FieldElements,
) -> CtOption<<Self as BatchInvert<FieldElements>>::Output>
fn batch_invert( field_elements: &FieldElements, ) -> CtOption<<Self as BatchInvert<FieldElements>>::Output>
Invert a batch of field elements.
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.
Implementors§
Source§impl<T> BatchInvert<[T]> for T
Available on crate feature alloc
only.
impl<T> BatchInvert<[T]> for T
Available on crate feature
alloc
only.