1 mod bvec2;
2 mod bvec3;
3 mod bvec4;
4 
5 #[cfg(all(feature = "core-simd", not(feature = "scalar-math")))]
6 mod coresimd;
7 
8 #[cfg(all(
9     target_feature = "sse2",
10     not(any(feature = "core-simd", feature = "scalar-math"))
11 ))]
12 mod sse2;
13 
14 #[cfg(all(
15     target_feature = "simd128",
16     not(any(feature = "core-simd", feature = "scalar-math"))
17 ))]
18 mod wasm32;
19 
20 #[cfg(any(
21     not(any(
22         feature = "core-simd",
23         target_feature = "sse2",
24         target_feature = "simd128"
25     )),
26     feature = "scalar-math"
27 ))]
28 mod scalar;
29 
30 pub use bvec2::BVec2;
31 pub use bvec3::BVec3;
32 pub use bvec4::BVec4;
33 
34 #[cfg(all(
35     target_feature = "sse2",
36     not(any(feature = "core-simd", feature = "scalar-math"))
37 ))]
38 pub use sse2::bvec3a::BVec3A;
39 #[cfg(all(
40     target_feature = "sse2",
41     not(any(feature = "core-simd", feature = "scalar-math"))
42 ))]
43 pub use sse2::bvec4a::BVec4A;
44 
45 #[cfg(all(
46     target_feature = "simd128",
47     not(any(feature = "core-simd", feature = "scalar-math"))
48 ))]
49 pub use wasm32::bvec3a::BVec3A;
50 #[cfg(all(
51     target_feature = "simd128",
52     not(any(feature = "core-simd", feature = "scalar-math"))
53 ))]
54 pub use wasm32::bvec4a::BVec4A;
55 
56 #[cfg(all(feature = "core-simd", not(feature = "scalar-math")))]
57 pub use coresimd::bvec3a::BVec3A;
58 #[cfg(all(feature = "core-simd", not(feature = "scalar-math")))]
59 pub use coresimd::bvec4a::BVec4A;
60 
61 #[cfg(any(
62     not(any(
63         feature = "core-simd",
64         target_feature = "sse2",
65         target_feature = "simd128"
66     )),
67     feature = "scalar-math"
68 ))]
69 pub use scalar::bvec3a::BVec3A;
70 
71 #[cfg(not(any(
72     feature = "scalar-math",
73     feature = "core-simd",
74     target_feature = "sse2",
75     target_feature = "simd128"
76 ),))]
77 pub use scalar::bvec4a::BVec4A;
78 
79 mod const_test_bvec2 {
80     const_assert_eq!(1, core::mem::align_of::<super::BVec2>());
81     const_assert_eq!(2, core::mem::size_of::<super::BVec2>());
82 }
83 
84 mod const_test_bvec3 {
85     const_assert_eq!(1, core::mem::align_of::<super::BVec3>());
86     const_assert_eq!(3, core::mem::size_of::<super::BVec3>());
87 }
88 
89 mod const_test_bvec4 {
90     const_assert_eq!(1, core::mem::align_of::<super::BVec4>());
91     const_assert_eq!(4, core::mem::size_of::<super::BVec4>());
92 }
93 
94 #[cfg(not(feature = "scalar-math"))]
95 mod const_test_bvec3a {
96     const_assert_eq!(16, core::mem::align_of::<super::BVec3A>());
97     const_assert_eq!(16, core::mem::size_of::<super::BVec3A>());
98 }
99 
100 #[cfg(not(feature = "scalar-math"))]
101 mod const_test_bvec4a {
102     const_assert_eq!(16, core::mem::align_of::<super::BVec4A>());
103     const_assert_eq!(16, core::mem::size_of::<super::BVec4A>());
104 }
105