From aa11959f19789f7db6d3a37bc52f5d7718cc9224 Mon Sep 17 00:00:00 2001 From: Caleb Zulawski Date: Sat, 21 May 2022 15:13:20 -0400 Subject: [PATCH] Add mask cast tests --- crates/core_simd/tests/masks.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/crates/core_simd/tests/masks.rs b/crates/core_simd/tests/masks.rs index d10c6610f505..3a0493d4ee66 100644 --- a/crates/core_simd/tests/masks.rs +++ b/crates/core_simd/tests/masks.rs @@ -99,6 +99,29 @@ macro_rules! test_mask_api { assert_eq!(bitmask, 0b01); assert_eq!(core_simd::Mask::<$type, 2>::from_bitmask(bitmask), mask); } + + #[test] + fn cast() { + fn cast_impl() + where + core_simd::Mask<$type, 8>: Into>, + { + let values = [true, false, false, true, false, false, true, false]; + let mask = core_simd::Mask::<$type, 8>::from_array(values); + + let cast_mask = mask.cast::(); + assert_eq!(values, cast_mask.to_array()); + + let into_mask: core_simd::Mask = mask.into(); + assert_eq!(values, into_mask.to_array()); + } + + cast_impl::(); + cast_impl::(); + cast_impl::(); + cast_impl::(); + cast_impl::(); + } } } }