fp/
lib.rs

1#![deny(clippy::use_self, unsafe_op_in_unsafe_fn)]
2
3mod constants;
4mod limb;
5
6pub use constants::{MAX_MULTINOMIAL_LEN, NUM_PRIMES, PRIME_TO_INDEX_MAP, PRIMES};
7
8pub mod field;
9pub mod matrix;
10pub mod prime;
11pub mod vector;
12
13pub mod blas;
14
15pub(crate) mod simd;
16
17// This is useful for traits that want to implement `Arbitrary`. This lets us specify that they
18// should be subtraits of `Arbitrary` iff the `proptest` feature is enabled.
19#[cfg(not(feature = "proptest"))]
20pub(crate) trait MaybeArbitrary<Params> {}
21
22#[cfg(feature = "proptest")]
23pub(crate) trait MaybeArbitrary<Params>:
24    proptest::arbitrary::Arbitrary<Parameters = Params>
25{
26}
27
28#[cfg(feature = "odd-primes")]
29pub const ODD_PRIMES: bool = true;
30#[cfg(not(feature = "odd-primes"))]
31pub const ODD_PRIMES: bool = false;