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.
Trait Implementations§
Auto Trait Implementations§
impl<W, B, S> Freeze for Wnaf<W, B, S>
impl<W, B, S> RefUnwindSafe for Wnaf<W, B, S>
impl<W, B, S> Send for Wnaf<W, B, S>
impl<W, B, S> Sync for Wnaf<W, B, S>
impl<W, B, S> Unpin for Wnaf<W, B, S>
impl<W, B, S> UnwindSafe for Wnaf<W, B, S>
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