diff --git a/src/lib.rs b/src/lib.rs index 08d38d0..e8ff8a2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,6 +11,6 @@ #![feature(stdsimd)] pub mod simd; - pub mod util; -pub use util::{array_op, defer_impl, unroll}; + +pub mod prelude; diff --git a/src/prelude.rs b/src/prelude.rs new file mode 100644 index 0000000..ce6eabd --- /dev/null +++ b/src/prelude.rs @@ -0,0 +1,7 @@ +pub use crate::simd::SimdBitwise; +pub use crate::simd::SimdLoad; +pub use crate::simd::SimdSplat; +pub use crate::simd::SimdTestAnd; + +pub use crate::util::array_op; +pub use crate::util::unroll; diff --git a/src/util.rs b/src/util.rs index dee48b6..7cd80bc 100644 --- a/src/util.rs +++ b/src/util.rs @@ -20,7 +20,7 @@ pub const unsafe fn __array_op__array_assume_init(array: [M /// # Generation /// /// ```rust -/// # use brisk::array_op; +/// # use brisk::util::array_op; /// const I_TIMES_2: [usize; 8] = array_op!(gen[8] |i| i * 2); /// /// assert_eq!(I_TIMES_2, [0, 2, 4, 6, 8, 10, 12, 14]); @@ -29,7 +29,7 @@ pub const unsafe fn __array_op__array_assume_init(array: [M /// # Mapping /// /// ```rust -/// # use brisk::array_op; +/// # use brisk::util::array_op; /// # const I_TIMES_2: [usize; 8] = array_op!(gen[8] |i| i * 2); /// const I_TIMES_2_PLUS_1: [usize; 8] = array_op!(map[8, I_TIMES_2] |i, x| x + 1); /// @@ -51,7 +51,7 @@ macro_rules! __array_op { } }}; (map[$len:expr, $src:expr] |$i:pat_param, $s:pat_param| $val:expr) => {{ - $crate::array_op!( + $crate::util::array_op!( gen[$len] | i | match i { @@ -191,10 +191,10 @@ pub unsafe fn alloc_aligned(len: NonZeroUsize, align: usize) -> *mut u8 { #[macro_export] macro_rules! __unroll { (let [$( $x:ident ),+] => |$y:pat_param| $expr:expr) => { - $crate::unroll!(let [$( $x: ($x) ),+] => |$y| $expr); + $crate::util::unroll!(let [$( $x: ($x) ),+] => |$y| $expr); }; (let [$( $id:ident: ($( $x:expr ),+) ),+] => |$( $y:pat_param ),+| $($expr:tt)+) => { - $crate::unroll!(@ [$] [$( $id: ($( $x ),+) ),+] => |$( $y ),+| $($expr)+) + $crate::util::unroll!(@ [$] [$( $id: ($( $x ),+) ),+] => |$( $y ),+| $($expr)+) }; (@ [$dollar:tt] [$( $id:ident: ($( $x:expr ),+) ),+] => |$( $y:pat_param ),+| $($expr:tt)+) => { macro_rules! __unrolled { @@ -211,7 +211,7 @@ macro_rules! __unroll { //)+ }; ([$( ($( $x:expr ),+) ),+] => |$( $y:pat_param ),+| $($expr:tt)+) => { - $crate::unroll!(@ [$] [$( ($( $x ),+) ),+] => |$( $y ),+| $($expr)+) + $crate::util::unroll!(@ [$] [$( ($( $x ),+) ),+] => |$( $y ),+| $($expr)+) }; (@ [$dollar:tt] [$( ($( $x:expr ),+) ),+] => |$( $y:pat_param ),+| $($expr:tt)+) => { macro_rules! __unrolled { @@ -237,7 +237,6 @@ pub use __unroll as unroll; #[cfg(test)] mod test { use super::*; - use crate::array_op; #[test] pub fn test_align_down_to() {