Expand description
An implementation of 4-way vectorized 32bit field arithmetic using AVX2.
The FieldElement2625x4 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
FieldElement2625x4 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Β§
- Field
Element2625x4 - A vector of four field elements.
EnumsΒ§
- Lanes
- The
Lanesenum represents a subset of the lanesA,B,C,Dof aFieldElement2625x4. - Shuffle
- The
Shuffleenum represents a shuffle of aFieldElement2625x4.
ConstantsΒ§
- A_LANES π
- A_
LANE πS64 - B_LANES π
- B_
LANE πS64 - C_LANES π
- C_
LANE πS64 - D_LANES π
- D_
LANE πS64
FunctionsΒ§
- repack_
pair π - Repack 64-bit lanes into 32-bit lanes:
- unpack_
pair π - Unpack 32-bit lanes into 64-bit lanes: