Struct curve25519_dalek::backend::vector::scalar_mul::pippenger::spec_avx512ifma_avx512vl::Pippenger
source · pub struct Pippenger;
Available on
curve25519_dalek_backend="simd"
and crate feature alloc
and nightly
only.Expand description
Implements a version of Pippenger’s algorithm.
See the documentation in the serial scalar_mul::pippenger
module for details.
Trait Implementations§
source§impl VartimeMultiscalarMul for Pippenger
impl VartimeMultiscalarMul for Pippenger
§type Point = EdwardsPoint
type Point = EdwardsPoint
The type of point being multiplied, e.g.,
RistrettoPoint
.source§fn 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 moresource§fn vartime_multiscalar_mul<I, J>(scalars: I, points: J) -> Self::Pointwhere
I: IntoIterator,
I::Item: Borrow<Scalar>,
J: IntoIterator,
J::Item: Borrow<Self::Point>,
Self::Point: Clone,
fn vartime_multiscalar_mul<I, J>(scalars: I, points: J) -> Self::Pointwhere I: IntoIterator, I::Item: Borrow<Scalar>, J: IntoIterator, J::Item: Borrow<Self::Point>, Self::Point: Clone,
Given an iterator of public scalars and an iterator of
public points, compute
$$
Q = c_1 P_1 + \cdots + c_n P_n,
$$
using variable-time operations. Read more
Auto Trait Implementations§
impl RefUnwindSafe for Pippenger
impl Send for Pippenger
impl Sync for Pippenger
impl Unpin for Pippenger
impl UnwindSafe for Pippenger
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