pub struct Straus {}
Expand description

Multiscalar multiplication using interleaved window / Straus’ method. See the Straus struct in the serial backend for more details.

This exists as a seperate implementation from that one because the AVX2 code uses different curve models (it does not pass between multiple models during scalar mul), and it has to convert the point representation on the fly.

Trait Implementations

The type of point being multiplied, e.g., RistrettoPoint.
Given an iterator of (possibly secret) scalars and an iterator of public points, compute $$ Q = c_1 P_1 + \cdots + c_n P_n. $$ Read more
The type of point being multiplied, e.g., RistrettoPoint.
Given an iterator of public scalars and an iterator of Options of points, compute either Some(Q), where $$ Q = c_1 P_1 + \cdots + c_n P_n, $$ if all points were Some(P_i), or else return None. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Numeric cast from self to T.

Returns the argument unchanged.

Safe lossless bitwise transmute from T to Self.
Numeric cast from T to Self.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Safe lossless bitwise transmute from self to T.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.