Struct pairing_ce::Wnaf
source · pub struct Wnaf<W, B, S> { /* private fields */ }
Expand description
A “w-ary non-adjacent form” exponentiation context.
Implementations§
source§impl<G: CurveProjective> Wnaf<(), Vec<G>, Vec<i64>>
impl<G: CurveProjective> Wnaf<(), Vec<G>, Vec<i64>>
sourcepub fn base(
&mut self,
base: G,
num_scalars: usize
) -> Wnaf<usize, &[G], &mut Vec<i64>>
pub fn base(
&mut self,
base: G,
num_scalars: usize
) -> Wnaf<usize, &[G], &mut Vec<i64>>
Given a base and a number of scalars, compute a window table and return a Wnaf
object that
can perform exponentiations with .scalar(..)
.
sourcepub fn scalar(
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> Wnaf<usize, &mut Vec<G>, &[i64]>
pub fn scalar(
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> Wnaf<usize, &mut Vec<G>, &[i64]>
Given a scalar, compute its wNAF representation and return a Wnaf
object that can perform
exponentiations with .base(..)
.
source§impl<'a, G: CurveProjective> Wnaf<usize, &'a [G], &'a mut Vec<i64>>
impl<'a, G: CurveProjective> Wnaf<usize, &'a [G], &'a mut Vec<i64>>
Constructs new space for the scalar representation while borrowing the computed window table, for sending the window table across threads.
source§impl<'a, G: CurveProjective> Wnaf<usize, &'a mut Vec<G>, &'a [i64]>
impl<'a, G: CurveProjective> Wnaf<usize, &'a mut Vec<G>, &'a [i64]>
Constructs new space for the window table while borrowing the computed scalar representation, for sending the scalar representation across threads.