Skip to main content

p3_binary_field/
lib.rs

1#![doc = include_str!("../README.md")]
2#![no_std]
3
4extern crate alloc;
5
6mod aes;
7mod bitslice;
8mod cantor;
9mod challenger;
10mod clmul;
11mod extension;
12mod gf2;
13mod ghash;
14mod linear;
15mod packed;
16mod poly192;
17mod poly64;
18pub mod poly_basis;
19mod poly_slice;
20mod subfield;
21mod tables;
22mod tower;
23mod transcript;
24
25pub use aes::{ByteMatrix, LinearizedPoly8b, PackedRijndael8b, Rijndael8b};
26pub use bitslice::{
27    Divisible, M128, M256, M512, PackedGf2, PackedGf2x8, PackedGf2x16, PackedGf2x32, PackedGf2x64,
28    PackedGf2x128, PackedGf2x256, PackedGf2x512, Underlier, Word,
29};
30pub use challenger::BinaryChallenger;
31pub use gf2::Gf2;
32pub use ghash::Ghash128;
33#[cfg(all(
34    target_arch = "x86_64",
35    target_feature = "vpclmulqdq",
36    any(target_feature = "avx2", target_feature = "avx512f")
37))]
38pub use packed::*;
39pub use poly64::Poly64;
40pub use poly192::Poly192;
41pub use tower::{
42    BinaryField2, BinaryField4, BinaryField8, BinaryField16, BinaryField32, BinaryField64,
43    BinaryField128, TowerLevel,
44};