Struct group::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]
impl<G: CurveProjective> Wnaf<(), Vec<G>, Vec<i64>>
pub fn new() -> Self
[src]
pub fn new() -> Self
Construct a new wNAF context without allocating.
pub fn base(
&mut self,
base: G,
num_scalars: usize
) -> Wnaf<usize, &[G], &mut Vec<i64>>
[src]
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(..)
.
pub fn scalar(
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> Wnaf<usize, &mut Vec<G>, &[i64]>
[src]
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(..)
.
impl<'a, G: CurveProjective> Wnaf<usize, &'a [G], &'a mut Vec<i64>>
[src]
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.
impl<'a, G: CurveProjective> Wnaf<usize, &'a mut Vec<G>, &'a [i64]>
[src]
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.
impl<B, S: AsRef<[i64]>> Wnaf<usize, B, S>
[src]
impl<B, S: AsRef<[i64]>> Wnaf<usize, B, S>
pub fn base<G: CurveProjective>(&mut self, base: G) -> G where
B: AsMut<Vec<G>>,
[src]
pub fn base<G: CurveProjective>(&mut self, base: G) -> G where
B: AsMut<Vec<G>>,
Performs exponentiation given a base.
impl<B, S: AsMut<Vec<i64>>> Wnaf<usize, B, S>
[src]
impl<B, S: AsMut<Vec<i64>>> Wnaf<usize, B, S>
pub fn scalar<G: CurveProjective>(
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> G where
B: AsRef<[G]>,
[src]
pub fn scalar<G: CurveProjective>(
&mut self,
scalar: <<G as CurveProjective>::Scalar as PrimeField>::Repr
) -> G where
B: AsRef<[G]>,
Performs exponentiation given a scalar.