aboutsummaryrefslogtreecommitdiff
path: root/tests/vec3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vec3.rs')
-rw-r--r--tests/vec3.rs65
1 files changed, 39 insertions, 26 deletions
diff --git a/tests/vec3.rs b/tests/vec3.rs
index fae8858..5df8d09 100644
--- a/tests/vec3.rs
+++ b/tests/vec3.rs
@@ -665,6 +665,43 @@ macro_rules! impl_vec3_float_tests {
assert!($vec3::splat(NAN).signum().is_nan_mask().all());
});
+ glam_test!(test_copysign, {
+ assert_eq!($vec3::ZERO.copysign(-$vec3::ZERO), -$vec3::ZERO);
+ assert_eq!((-$vec3::ZERO).copysign(-$vec3::ZERO), -$vec3::ZERO);
+ assert_eq!($vec3::ZERO.copysign($vec3::ZERO), $vec3::ZERO);
+ assert_eq!((-$vec3::ZERO).copysign($vec3::ZERO), $vec3::ZERO);
+ assert_eq!($vec3::ONE.copysign(-$vec3::ZERO), -$vec3::ONE);
+ assert_eq!((-$vec3::ONE).copysign(-$vec3::ZERO), -$vec3::ONE);
+ assert_eq!($vec3::ONE.copysign($vec3::ZERO), $vec3::ONE);
+ assert_eq!((-$vec3::ONE).copysign($vec3::ZERO), $vec3::ONE);
+ assert_eq!($vec3::ZERO.copysign(-$vec3::ONE), -$vec3::ZERO);
+ assert_eq!((-$vec3::ZERO).copysign(-$vec3::ONE), -$vec3::ZERO);
+ assert_eq!($vec3::ZERO.copysign($vec3::ONE), $vec3::ZERO);
+ assert_eq!((-$vec3::ZERO).copysign($vec3::ONE), $vec3::ZERO);
+ assert_eq!($vec3::ONE.copysign(-$vec3::ONE), -$vec3::ONE);
+ assert_eq!((-$vec3::ONE).copysign(-$vec3::ONE), -$vec3::ONE);
+ assert_eq!($vec3::ONE.copysign($vec3::ONE), $vec3::ONE);
+ assert_eq!((-$vec3::ONE).copysign($vec3::ONE), $vec3::ONE);
+ assert_eq!(
+ $vec3::splat(INFINITY).copysign($vec3::ONE),
+ $vec3::splat(INFINITY)
+ );
+ assert_eq!(
+ $vec3::splat(INFINITY).copysign(-$vec3::ONE),
+ $vec3::splat(NEG_INFINITY)
+ );
+ assert_eq!(
+ $vec3::splat(NEG_INFINITY).copysign($vec3::ONE),
+ $vec3::splat(INFINITY)
+ );
+ assert_eq!(
+ $vec3::splat(NEG_INFINITY).copysign(-$vec3::ONE),
+ $vec3::splat(NEG_INFINITY)
+ );
+ assert!($vec3::splat(NAN).copysign($vec3::ONE).is_nan_mask().all());
+ assert!($vec3::splat(NAN).copysign(-$vec3::ONE).is_nan_mask().all());
+ });
+
glam_test!(test_is_negative_bitmask, {
assert_eq!($vec3::ZERO.is_negative_bitmask(), 0b000);
assert_eq!((-$vec3::ZERO).is_negative_bitmask(), 0b111);
@@ -1082,12 +1119,6 @@ mod vec3 {
}
mod vec3a {
- #[cfg(any(
- not(any(target_feature = "sse2", target_feature = "simd128")),
- feature = "scalar-math"
- ))]
- use glam::BVec3;
- #[cfg(not(feature = "scalar-math"))]
use glam::BVec3A;
use glam::{vec3a, Vec3A, Vec4};
@@ -1095,16 +1126,8 @@ mod vec3a {
use std::mem;
assert_eq!(16, mem::size_of::<Vec3A>());
assert_eq!(16, mem::align_of::<Vec3A>());
- #[cfg(not(feature = "scalar-math"))]
- {
- assert_eq!(16, mem::size_of::<BVec3A>());
- assert_eq!(16, mem::align_of::<BVec3A>());
- }
- #[cfg(feature = "scalar-math")]
- {
- assert_eq!(3, mem::size_of::<BVec3>());
- assert_eq!(1, mem::align_of::<BVec3>());
- }
+ assert_eq!(16, mem::size_of::<BVec3A>());
+ assert_eq!(16, mem::align_of::<BVec3A>());
});
glam_test!(test_mask_align16, {
@@ -1162,17 +1185,7 @@ mod vec3a {
assert_eq!(v2.min_element(), 2.0);
});
- #[cfg(all(
- any(target_feature = "sse2", target_feature = "simd128"),
- not(feature = "scalar-math")
- ))]
impl_vec3_float_tests!(f32, vec3a, Vec3A, BVec3A);
-
- #[cfg(any(
- not(any(target_feature = "sse2", target_feature = "simd128")),
- feature = "scalar-math"
- ))]
- impl_vec3_float_tests!(f32, vec3a, Vec3A, BVec3);
}
mod dvec3 {