backend:: avx2:: field
An implementation of 4-way vectorized 32bit field arithmetic using AVX2.
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
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.
A vector of four field elements.
Repack 64-bit lanes into 32-bit lanes:
Unpack 32-bit lanes into 64-bit lanes: