p3_baby_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 baby_bear;
14mod extension;
15mod mds;
16mod poseidon2;
17
18pub use baby_bear::*;
19pub use mds::*;
20pub use poseidon2::*;
21
22#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
23mod aarch64_neon;
24#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
25pub use aarch64_neon::*;
26
27#[cfg(all(
28 target_arch = "x86_64",
29 target_feature = "avx2",
30 not(all(feature = "nightly-features", target_feature = "avx512f"))
31))]
32mod x86_64_avx2;
33#[cfg(all(
34 target_arch = "x86_64",
35 target_feature = "avx2",
36 not(all(feature = "nightly-features", target_feature = "avx512f"))
37))]
38pub use x86_64_avx2::*;
39
40#[cfg(all(
41 feature = "nightly-features",
42 target_arch = "x86_64",
43 target_feature = "avx512f"
44))]
45mod x86_64_avx512;
46#[cfg(all(
47 feature = "nightly-features",
48 target_arch = "x86_64",
49 target_feature = "avx512f"
50))]
51pub use x86_64_avx512::*;