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