Expand description
Binary tower field implementations for use in Binius.
This library implements binary tower field arithmetic. The canonical binary field tower construction is specified in DP23, section 2.3. This is a family of binary fields with extension degree $2^{\iota}$ for any tower height $\iota$. Mathematically, we label these sets $T_{\iota}$.
Re-exports§
pub use arithmetic_traits::MulX;pub use arithmetic_traits::WideMul;pub use field::ExtensionField;pub use field::Field;pub use field::FieldOps;pub use packed::PackedField;pub use packed_fields::sliced::SlicedPackedField;pub use transpose::transpose_square_blocks;pub use transpose::transpose_square_blocks_array;pub use binary_field::*;pub use fields::ghash::*;pub use fields::ghash_sq::*;pub use fields::rijndael::*;pub use packed_extension::*;pub use packed_fields::*;
Modules§
- arch
- arithmetic_
traits - binary_
field - field
- fields
- linear_
transformation - packed
- Traits for packed field elements which support SIMD implementations.
- packed_
extension - Reading a packed extension field element as a packing of its subfield.
- packed_
fields - Packed field implementations, and the packings of the tower’s base field.
- transpose
- util
Traits§
- Divisible
- Divides an underlier type into smaller underliers in memory and iterates over them.
- Maskable
- Branchless conditional lane selection for fields and packed fields.
- Random
- A value that can be randomly generated
- Underlier
- A fixed-length vector of bits, whose length is a power of two.
- Underlier
View - A type stored exactly as some underlier, and freely viewable as one.