Skip to content

Commit aa11959

Browse files
committed
Add mask cast tests
1 parent 98cd636 commit aa11959

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

crates/core_simd/tests/masks.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,29 @@ macro_rules! test_mask_api {
9999
assert_eq!(bitmask, 0b01);
100100
assert_eq!(core_simd::Mask::<$type, 2>::from_bitmask(bitmask), mask);
101101
}
102+
103+
#[test]
104+
fn cast() {
105+
fn cast_impl<T: core_simd::MaskElement>()
106+
where
107+
core_simd::Mask<$type, 8>: Into<core_simd::Mask<T, 8>>,
108+
{
109+
let values = [true, false, false, true, false, false, true, false];
110+
let mask = core_simd::Mask::<$type, 8>::from_array(values);
111+
112+
let cast_mask = mask.cast::<T>();
113+
assert_eq!(values, cast_mask.to_array());
114+
115+
let into_mask: core_simd::Mask<T, 8> = mask.into();
116+
assert_eq!(values, into_mask.to_array());
117+
}
118+
119+
cast_impl::<i8>();
120+
cast_impl::<i16>();
121+
cast_impl::<i32>();
122+
cast_impl::<i64>();
123+
cast_impl::<isize>();
124+
}
102125
}
103126
}
104127
}

0 commit comments

Comments
 (0)