pub mod kernel {
pub use crate::kernel::bytes::xor;
#[cfg(all(feature = "simd", target_arch = "x86_64"))]
pub use crate::kernel::matrix_provider::{FlatMatrix, Matrix};
pub mod gf8 {
pub use crate::kernel::gf8::*;
}
pub mod gf16 {
pub use crate::kernel::tower::gf16::*;
}
pub mod gf32 {
pub use crate::kernel::tower::gf32::*;
}
pub mod gf64 {
pub use crate::kernel::tower::gf64::*;
}
pub mod tower {
pub use crate::kernel::tower::*;
}
pub mod prime {
pub use crate::kernel::prime::*;
}
pub mod scalar {
pub use crate::kernel::scalar::*;
}
#[cfg(all(feature = "simd", target_arch = "x86_64"))]
pub mod residue {
pub use crate::kernel::residue::{
DELAYED_ADD_MIN_DEPTH, DELAYED_INTO_MIN_DEPTH, DELAYED_MIN_SOURCES, VectorOp,
avx2_floor_op_len, delay_depth, delayed_matrix_backend, routes_delayed, routes_vector,
single_row_backend, vector_backend,
};
}
pub mod tables {
pub use crate::kernel::tables::*;
}
#[cfg(all(feature = "simd", target_arch = "x86_64"))]
pub mod x86 {
pub use crate::kernel::x86::*;
pub mod residue {
#[cfg(feature = "simd512")]
pub use crate::kernel::x86::residue::avx512::{
matrix::{mul_add_matrix_u32_avx512_with, mul_into_matrix_u32_avx512_with},
single::{
mul_add_u8_avx512, mul_add_u32_avx512, mul_add_u64_avx512,
mul_assign_u8_avx512, mul_assign_u32_avx512, mul_assign_u64_avx512,
mul_elementwise_assign_u32_avx512, mul_elementwise_u32_avx512,
mul_into_u8_avx512, mul_into_u32_avx512, mul_into_u64_avx512,
},
};
pub use crate::kernel::x86::residue::*;
}
}
#[cfg(feature = "simd")]
pub use archmage::SimdToken;
#[cfg(all(feature = "simd", target_arch = "x86_64"))]
pub use archmage::{
X64V1Token, X64V2Token, X64V3GfniCryptoToken, X64V3Token, X64V4Token, X64V4xToken,
};
}
pub mod field {
pub mod fan_paar {
pub use crate::field::binary::tower::{fp_invert, fp_mul_alpha, fp_multiply, fp_square};
}
}