[][src]Module curve25519_dalek::backend::avx2::field

An implementation of 4-way vectorized 32bit field arithmetic using AVX2.

The FieldElement32x4 struct provides a vector of four field elements, implemented using AVX2 operations. Its API is designed to abstract away the platform-dependent details, so that point arithmetic can be implemented only in terms of a vector of field elements.

At this level, the API is optimized for speed and not safety. The FieldElement32x4 does not always perform reductions. The pre- and post-conditions on the bounds of the coefficients are documented for each method, but it is the caller's responsibility to ensure that there are no overflows.

Structs

FieldElement32x4

A vector of four field elements.

Enums

Lanes

The Lanes enum represents a subset of the lanes A,B,C,D of a FieldElement32x4.

Shuffle

The Shuffle enum represents a shuffle of a FieldElement32x4.

Constants

A_LANES
A_LANES64
B_LANES
B_LANES64
C_LANES
C_LANES64
D_LANES
D_LANES64

Functions

repack_pair

Repack 64-bit lanes into 32-bit lanes:

unpack_pair

Unpack 32-bit lanes into 64-bit lanes: