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]

Construct a new wNAF context without allocating.

Given a base and a number of scalars, compute a window table and return a Wnaf object that can perform exponentiations with .scalar(..).

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]

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]

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]

Performs exponentiation given a base.

impl<B, S: AsMut<Vec<i64>>> Wnaf<usize, B, S>
[src]

Performs exponentiation given a scalar.

Trait Implementations

impl<W: Debug, B: Debug, S: Debug> Debug for Wnaf<W, B, S>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<W, B, S> Send for Wnaf<W, B, S> where
    B: Send,
    S: Send,
    W: Send

impl<W, B, S> Sync for Wnaf<W, B, S> where
    B: Sync,
    S: Sync,
    W: Sync