Skip to main content

Crate binius_field

Crate binius_field 

Source
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.
UnderlierView
A type stored exactly as some underlier, and freely viewable as one.