glam/
bool.rs

1mod bvec2;
2mod bvec3;
3mod bvec4;
4
5#[cfg(all(feature = "core-simd", not(feature = "scalar-math")))]
6mod coresimd;
7
8#[cfg(all(
9    target_feature = "sse2",
10    not(any(feature = "core-simd", feature = "scalar-math"))
11))]
12mod sse2;
13
14#[cfg(all(
15    target_feature = "simd128",
16    not(any(feature = "core-simd", feature = "scalar-math"))
17))]
18mod 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))]
28mod scalar;
29
30pub use bvec2::BVec2;
31pub use bvec3::BVec3;
32pub use bvec4::BVec4;
33
34#[cfg(all(
35    target_feature = "sse2",
36    not(any(feature = "core-simd", feature = "scalar-math"))
37))]
38pub use sse2::bvec3a::BVec3A;
39#[cfg(all(
40    target_feature = "sse2",
41    not(any(feature = "core-simd", feature = "scalar-math"))
42))]
43pub use sse2::bvec4a::BVec4A;
44
45#[cfg(all(
46    target_feature = "simd128",
47    not(any(feature = "core-simd", feature = "scalar-math"))
48))]
49pub use wasm32::bvec3a::BVec3A;
50#[cfg(all(
51    target_feature = "simd128",
52    not(any(feature = "core-simd", feature = "scalar-math"))
53))]
54pub use wasm32::bvec4a::BVec4A;
55
56#[cfg(all(feature = "core-simd", not(feature = "scalar-math")))]
57pub use coresimd::bvec3a::BVec3A;
58#[cfg(all(feature = "core-simd", not(feature = "scalar-math")))]
59pub 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))]
69pub 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),))]
77pub use scalar::bvec4a::BVec4A;
78
79mod 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
84mod 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
89mod 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"))]
95mod 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"))]
101mod 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}