pub struct ChunkedPippenger<G>where
G: VariableBaseMSM,{ /* private fields */ }
Expand description
Struct for the chunked Pippenger algorithm.
Implementations§
Source§impl<G> ChunkedPippenger<G>where
G: VariableBaseMSM,
impl<G> ChunkedPippenger<G>where
G: VariableBaseMSM,
Sourcepub fn new(max_msm_buffer: usize) -> ChunkedPippenger<G>
pub fn new(max_msm_buffer: usize) -> ChunkedPippenger<G>
Initialize a chunked Pippenger instance with default parameters.
Sourcepub fn with_size(buf_size: usize) -> ChunkedPippenger<G>
pub fn with_size(buf_size: usize) -> ChunkedPippenger<G>
Initialize a chunked Pippenger instance with the given buffer size.
Sourcepub fn add<B, S>(&mut self, base: B, scalar: S)where
B: Borrow<<G as ScalarMul>::MulBase>,
S: Borrow<<<G as PrimeGroup>::ScalarField as PrimeField>::BigInt>,
pub fn add<B, S>(&mut self, base: B, scalar: S)where
B: Borrow<<G as ScalarMul>::MulBase>,
S: Borrow<<<G as PrimeGroup>::ScalarField as PrimeField>::BigInt>,
Add a new (base, scalar) pair into the instance.
Auto Trait Implementations§
impl<G> Freeze for ChunkedPippenger<G>where
G: Freeze,
impl<G> RefUnwindSafe for ChunkedPippenger<G>where
G: RefUnwindSafe,
<<G as PrimeGroup>::ScalarField as PrimeField>::BigInt: RefUnwindSafe,
<G as ScalarMul>::MulBase: RefUnwindSafe,
impl<G> Send for ChunkedPippenger<G>
impl<G> Sync for ChunkedPippenger<G>
impl<G> Unpin for ChunkedPippenger<G>where
G: Unpin,
<<G as PrimeGroup>::ScalarField as PrimeField>::BigInt: Unpin,
<G as ScalarMul>::MulBase: Unpin,
impl<G> UnwindSafe for ChunkedPippenger<G>where
G: UnwindSafe,
<<G as PrimeGroup>::ScalarField as PrimeField>::BigInt: UnwindSafe,
<G as ScalarMul>::MulBase: UnwindSafe,
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more