p3_koala_bear/
lib.rs

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