BatchInverseResult

Struct BatchInverseResult 

Source
pub struct BatchInverseResult {
    pub inverses: Vec<FieldElement>,
}
Expand description

Batch inversion result containing all computed inverses.

This struct holds the computed inverses of all input field elements. The inverses are guaranteed to satisfy input[i] * result[i] ≡ 1 mod p for all valid indices i.

Fields§

§inverses: Vec<FieldElement>

The computed inverses, in the same order as the input elements

Implementations§

Source§

impl BatchInverseResult

Source

pub fn get(&self, index: usize) -> &FieldElement

Get the inverse at the specified index.

Returns a reference to the computed inverse for the element at the corresponding position in the input array. The inverses are stored in the same order as the input elements.

§Parameters
  • index - The index of the desired inverse (0 ≤ index < len())
§Returns

A reference to the computed inverse FieldElement

§Panics

Panics if index is out of bounds (index >= len()).

§Mathematical Guarantee

The returned inverse satisfies: input[index] * result[index] ≡ 1 mod p where p is the field modulus.

Source

pub fn len(&self) -> usize

Get the number of inverses computed.

Returns the total number of inverses in this result, which equals the number of input elements that were successfully inverted.

§Returns

The number of computed inverses

Source

pub fn is_empty(&self) -> bool

Check if the result contains no inverses.

Returns true if no inverses were computed (empty result). This typically occurs when an empty input array was provided.

§Returns

true if no inverses are stored, false otherwise

Source

pub fn into_vec(self) -> Vec<FieldElement>

Convert into the internal vector of inverses.

Consumes this result and returns the underlying vector of computed inverses. This is useful when you want to take ownership of the inverses rather than borrowing them through the get() method.

§Returns

The vector of computed inverses in input order

§Performance

This operation is O(1) - no copying occurs, just ownership transfer.

Trait Implementations§

Source§

impl Clone for BatchInverseResult

Source§

fn clone(&self) -> BatchInverseResult

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BatchInverseResult

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.