[−][src]Function safe_arch::test_mixed_ones_and_zeroes_m128i
#[must_use]pub fn test_mixed_ones_and_zeroes_m128i(a: m128i, mask: m128i) -> i32
Returns if, among the masked bits, there's both 0s and 1s
- if
(a & mask) as u128 == 0
: Zero Flag - if
((!a) & mask) as u128 == 0
: Compliment Flag - Return
ZeroFlag == 0 && Compliment Flag == 0
let a = m128i::from(0b111_u128); let mask = m128i::from(u128::MAX); assert_eq!(test_mixed_ones_and_zeroes_m128i(a, mask), 1); // let a = m128i::from(0b0_u128); let mask = m128i::from(u128::MAX); assert_eq!(test_mixed_ones_and_zeroes_m128i(a, mask), 0); // let a = m128i::from(0b1_0000_u128); let mask = m128i::from(0b0_1111_u128); assert_eq!(test_mixed_ones_and_zeroes_m128i(a, mask), 0); // let a = m128i::from(0b1_0000_u128); let mask = m128i::from(0b1_1111_u128); assert_eq!(test_mixed_ones_and_zeroes_m128i(a, mask), 1);