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
16pub mod poseidon1;
17
18#[cfg(target_arch = "aarch64")]
19mod aarch64_neon;
20
21#[cfg(target_arch = "aarch64")]
22pub use aarch64_neon::*;
23
24#[cfg(all(
25 target_arch = "x86_64",
26 target_feature = "avx2",
27 not(target_feature = "avx512f")
28))]
29mod x86_64_avx2;
30
31#[cfg(all(
32 target_arch = "x86_64",
33 target_feature = "avx2",
34 not(target_feature = "avx512f")
35))]
36pub use x86_64_avx2::*;
37
38#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
39mod x86_64_avx512;
40
41#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
42pub use x86_64_avx512::*;