mod affine2; mod affine3a; mod float; mod mat3; pub(crate) mod math; mod vec2; mod vec3; #[cfg(all(feature = "core-simd", not(feature = "scalar-math")))] mod coresimd; #[cfg(any( not(any( feature = "core-simd", target_arch = "aarch64", target_feature = "sse2", target_feature = "simd128" )), feature = "scalar-math" ))] mod scalar; #[cfg(all( target_arch = "aarch64", not(any(feature = "core-simd", feature = "scalar-math")) ))] mod neon; #[cfg(all( target_feature = "sse2", not(any(feature = "core-simd", feature = "scalar-math")) ))] mod sse2; #[cfg(all( target_feature = "simd128", not(any(feature = "core-simd", feature = "scalar-math")) ))] mod wasm32; #[cfg(any( not(any( feature = "core-simd", target_arch = "aarch64", target_feature = "sse2", target_feature = "simd128" )), feature = "scalar-math" ))] use scalar::*; #[cfg(all( target_arch = "aarch64", not(any(feature = "core-simd", feature = "scalar-math")) ))] use neon::*; #[cfg(all( target_feature = "sse2", not(any(feature = "core-simd", feature = "scalar-math")) ))] use sse2::*; #[cfg(all( target_feature = "simd128", not(any(feature = "core-simd", feature = "scalar-math")) ))] use wasm32::*; #[cfg(all(feature = "core-simd", not(feature = "scalar-math")))] use coresimd::*; pub use affine2::Affine2; pub use affine3a::Affine3A; pub use mat2::{mat2, Mat2}; pub use mat3::{mat3, Mat3}; pub use mat3a::{mat3a, Mat3A}; pub use mat4::{mat4, Mat4}; pub use quat::{quat, Quat}; pub use vec2::{vec2, Vec2}; pub use vec3::{vec3, Vec3}; pub use vec3a::{vec3a, Vec3A}; pub use vec4::{vec4, Vec4}; #[cfg(not(target_arch = "spirv"))] mod test { use super::*; #[cfg(all(not(feature = "cuda"), feature = "scalar-math"))] mod const_test_affine2 { const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); const_assert_eq!(24, core::mem::size_of::()); } #[cfg(not(feature = "scalar-math"))] mod const_test_affine2 { const_assert_eq!(16, core::mem::align_of::()); const_assert_eq!(32, core::mem::size_of::()); } mod const_test_mat2 { #[cfg(feature = "scalar-math")] const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); #[cfg(not(any(feature = "scalar-math", target_arch = "spirv")))] const_assert_eq!(16, core::mem::align_of::()); const_assert_eq!(16, core::mem::size_of::()); } mod const_test_mat3 { const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); const_assert_eq!(36, core::mem::size_of::()); } mod const_test_mat3a { const_assert_eq!(16, core::mem::align_of::()); const_assert_eq!(48, core::mem::size_of::()); } mod const_test_mat4 { const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); const_assert_eq!(64, core::mem::size_of::()); } mod const_test_quat { #[cfg(feature = "scalar-math")] const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); #[cfg(not(any(feature = "scalar-math", target_arch = "spirv")))] const_assert_eq!(16, core::mem::align_of::()); const_assert_eq!(16, core::mem::size_of::()); } mod const_test_vec2 { #[cfg(not(feature = "cuda"))] const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); #[cfg(feature = "cuda")] const_assert_eq!(8, core::mem::align_of::()); const_assert_eq!(8, core::mem::size_of::()); } mod const_test_vec3 { const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); const_assert_eq!(12, core::mem::size_of::()); } mod const_test_vec3a { const_assert_eq!(16, core::mem::align_of::()); const_assert_eq!(16, core::mem::size_of::()); } mod const_test_vec4 { #[cfg(all(feature = "scalar-math", not(feature = "cuda")))] const_assert_eq!( core::mem::align_of::(), core::mem::align_of::() ); #[cfg(not(feature = "scalar-math"))] const_assert_eq!(16, core::mem::align_of::()); const_assert_eq!(16, core::mem::size_of::()); } }