1#![no_std]
4
5extern crate alloc;
6
7mod extension;
8mod goldilocks;
9mod mds;
10mod poseidon2;
11
12pub use goldilocks::*;
13pub use mds::*;
14pub use poseidon2::*;
15
16#[cfg(all(
17 target_arch = "x86_64",
18 target_feature = "avx2",
19 not(target_feature = "avx512f")
20))]
21mod x86_64_avx2;
22
23#[cfg(all(
24 target_arch = "x86_64",
25 target_feature = "avx2",
26 not(target_feature = "avx512f")
27))]
28pub use x86_64_avx2::*;
29
30#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
31mod x86_64_avx512;
32
33#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
34pub use x86_64_avx512::*;