p3_monty_31/
lib.rs

1#![no_std]
2
3extern crate alloc;
4
5mod data_traits;
6pub mod dft;
7mod extension;
8mod mds;
9mod monty_31;
10mod poseidon2;
11mod utils;
12pub use data_traits::*;
13pub use mds::*;
14pub use monty_31::*;
15pub use poseidon2::*;
16
17#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
18mod aarch64_neon;
19#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
20pub use aarch64_neon::*;
21
22#[cfg(all(
23    target_arch = "x86_64",
24    target_feature = "avx2",
25    not(target_feature = "avx512f")
26))]
27mod x86_64_avx2;
28#[cfg(all(
29    target_arch = "x86_64",
30    target_feature = "avx2",
31    not(target_feature = "avx512f")
32))]
33pub use x86_64_avx2::*;
34
35#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
36mod x86_64_avx512;
37#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
38pub use x86_64_avx512::*;
39
40#[cfg(not(any(
41    all(target_arch = "aarch64", target_feature = "neon"),
42    all(target_arch = "x86_64", target_feature = "avx2",),
43)))]
44mod no_packing;
45#[cfg(not(any(
46    all(target_arch = "aarch64", target_feature = "neon"),
47    all(target_arch = "x86_64", target_feature = "avx2",),
48)))]
49pub use no_packing::*;