Skip to main content

Module binary

Module binary 

Source
Expand description

Binary fields by total degree and representation.

Binary names GF(2^N) under the representation R, and Elem over it is its element. BinaryRepr is the sealed vocabulary of representations: each fixes its descriptor and, at degree eight, its discrete-logarithm tables. BinaryField adds the canonical coordinate conversions shared by every binary presentation, and BinaryDegree pins the exact degree a generic tower row may build on.

§Layout

Raw storage is private to the crate. Degrees 1, 2, 4, and 8 store one element in a byte holding exactly the N low coordinate bits; degrees 16, 32, and 64 store one element in the little-endian u16, u32, or u64 holding exactly N bits. The stable byte encoding of an element is the little-endian encoding of its raw word, and degree 64 is the crate’s binary cap.

§Totality and canonicalization

By crate-wide convention inv(0) == 0 and x / 0 == 0, in every build profile and under const evaluation alike.

Re-exports§

pub use cantor::Cantor;
pub use description::BinaryDescription;
pub use description::ByteLogExp;
pub use embedding::Embedding;
pub use embedding::EmbeddingError;
pub use normal::Normal;
pub use poly::AES;
pub use poly::Polynomial;
pub use poly::RS;

Modules§

cantor
Cantor-basis binary presentations at degrees 2, 4, and 8.
description
Opaque binary-field descriptors and their const interpreter.
embedding
Coherent embeddings between binary-field presentations.
normal
Normal-basis binary presentations at degrees 2, 4, and 8.
poly
Polynomial-basis binary presentations at degrees 1, 2, 4, and 8.
tower
Recursive quadratic towers through degree 64.

Structs§

Binary
Marker for GF(2^N) under the representation R. Zero-sized.
CoordinateError
Rejected coordinate words carry this error.

Traits§

BinaryDegree
Implemented by Binary<N, R> at its exact supported degree.
BinaryField
A binary field: characteristic two with canonical coordinate conversions.
BinaryRepr
A sealed representation of GF(2^N).