1#[cfg(feature = "unstable")]
9#[inline(always)]
10fn b<T>(mut p: *mut T) -> *mut T { unsafe { core::arch::asm!("/* {0} */", inout(reg) p) } p }
11#[cfg(not(feature = "unstable"))]
12#[inline(always)]
13fn b<T>(p: *mut T) -> *mut T { p }
14
15#[cfg(feature = "safe")]
16macro_rules! safe_assert {
17 ($x: expr) => {
18 assert!($x);
19 }
20}
21#[cfg(not(feature = "safe"))]
22macro_rules! safe_assert {
23 ($x: expr) => { () }
24}
25
26mod streaming;
27pub use crate::streaming::StreamingSieve;
28pub use crate::streaming::primes::Primes;
29
30mod wheel;
32mod sieve;
33
34pub use crate::sieve::{Sieve, SievePrimes};