crypto_primes/
lib.rs

1#![no_std]
2#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
3#![doc = include_str!("../README.md")]
4#![deny(unsafe_code)]
5#![warn(
6    clippy::mod_module_files,
7    missing_docs,
8    missing_debug_implementations,
9    missing_copy_implementations,
10    rust_2018_idioms,
11    trivial_casts,
12    trivial_numeric_casts,
13    unused_qualifications,
14    clippy::unwrap_used
15)]
16
17extern crate alloc;
18
19mod generic;
20pub mod hazmat;
21mod presets;
22mod traits;
23
24pub use generic::{sieve_and_find, SieveIterator};
25pub use presets::{generate_prime_with_rng, generate_safe_prime_with_rng, is_prime_with_rng, is_safe_prime_with_rng};
26pub use traits::{RandomPrimeWithRng, SieveFactory};
27
28#[cfg(feature = "default-rng")]
29pub use presets::{generate_prime, generate_safe_prime, is_prime, is_safe_prime};
30#[cfg(all(feature = "default-rng", feature = "multicore"))]
31pub use presets::{par_generate_prime, par_generate_safe_prime};
32#[cfg(feature = "multicore")]
33pub use presets::{par_generate_prime_with_rng, par_generate_safe_prime_with_rng};
34
35#[cfg(feature = "multicore")]
36pub use generic::par_sieve_and_find;