Struct dalek_test_curve_docs::backend::vector::scalar_mul::pippenger::Pippenger
source · pub struct Pippenger;
Expand description
Implements a version of Pippenger’s algorithm.
See the documentation in the serial scalar_mul::pippenger
module for details.
Trait Implementations
sourceimpl VartimeMultiscalarMul for Pippenger
impl VartimeMultiscalarMul for Pippenger
type Point = EdwardsPoint
type Point = EdwardsPoint
The type of point being multiplied, e.g.,
RistrettoPoint
.sourcefn optional_multiscalar_mul<I, J>(scalars: I, points: J) -> Option<EdwardsPoint>where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<EdwardsPoint>>,
fn optional_multiscalar_mul<I, J>(scalars: I, points: J) -> Option<EdwardsPoint>where
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator<Item = Option<EdwardsPoint>>,
Given an iterator of public scalars and an iterator of
Option
s of points, compute either Some(Q)
, where
$$
Q = c_1 P_1 + \cdots + c_n P_n,
$$
if all points were Some(P_i)
, or else return None
. Read moreAuto Trait Implementations
impl RefUnwindSafe for Pippenger
impl Send for Pippenger
impl Sync for Pippenger
impl Unpin for Pippenger
impl UnwindSafe for Pippenger
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more