Struct pairing::Wnaf
[−]
[src]
pub struct Wnaf<W, B, S> { /* fields omitted */ }
A "w-ary non-adjacent form" exponentiation context.
Methods
impl<G: CurveProjective> Wnaf<(), Vec<G>, Vec<i64>>
[src]
fn new() -> Self
[src]
Construct a new wNAF context without allocating.
fn base(
&mut self,
base: G,
num_scalars: usize
) -> Wnaf<usize, &[G], &mut Vec<i64>>
[src]
&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(..)
.
fn scalar(
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> Wnaf<usize, &mut Vec<G>, &[i64]>
[src]
&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(..)
.
impl<'a, G: CurveProjective> Wnaf<usize, &'a [G], &'a mut Vec<i64>>
[src]
[src]
Constructs new space for the scalar representation while borrowing the computed window table, for sending the window table across threads.
impl<'a, G: CurveProjective> Wnaf<usize, &'a mut Vec<G>, &'a [i64]>
[src]
[src]
Constructs new space for the window table while borrowing the computed scalar representation, for sending the scalar representation across threads.
impl<B, S: AsRef<[i64]>> Wnaf<usize, B, S>
[src]
fn base<G: CurveProjective>(&mut self, base: G) -> G where
B: AsMut<Vec<G>>,
[src]
B: AsMut<Vec<G>>,
Performs exponentiation given a base.
impl<B, S: AsMut<Vec<i64>>> Wnaf<usize, B, S>
[src]
fn scalar<G: CurveProjective>(
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> G where
B: AsRef<[G]>,
[src]
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> G where
B: AsRef<[G]>,
Performs exponentiation given a scalar.