Skip to main content

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 poseidon1;
11mod poseidon2;
12mod utils;
13pub use data_traits::*;
14pub use mds::*;
15pub use monty_31::*;
16pub use poseidon1::*;
17pub use poseidon2::*;
18
19#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
20mod aarch64_neon;
21#[cfg(all(target_arch = "aarch64", target_feature = "neon"))]
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#[cfg(all(
31    target_arch = "x86_64",
32    target_feature = "avx2",
33    not(target_feature = "avx512f")
34))]
35pub use x86_64_avx2::*;
36
37#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
38mod x86_64_avx512;
39#[cfg(all(target_arch = "x86_64", target_feature = "avx512f"))]
40pub use x86_64_avx512::*;
41
42#[cfg(not(any(
43    all(target_arch = "aarch64", target_feature = "neon"),
44    all(target_arch = "x86_64", target_feature = "avx2",),
45)))]
46mod no_packing;
47#[cfg(not(any(
48    all(target_arch = "aarch64", target_feature = "neon"),
49    all(target_arch = "x86_64", target_feature = "avx2",),
50)))]
51pub use no_packing::*;