mod seal {
pub trait MaskElement: Copy {
#[must_use]
fn test(self) -> bool;
}
}
use crate::simd::SimdElement;
pub(crate) use seal::MaskElement as SealedMaskElement;
pub trait MaskElement: SimdElement + SealedMaskElement { }
macro_rules! impl_mask_element {
{
$($Ty:ty),*$(,)?
} => {
$(
impl ::polylane::mask::SealedMaskElement for $Ty {
#[inline(always)]
fn test(self) -> bool {
self == 0x0
}
}
impl ::polylane::mask::MaskElement for $Ty { }
)*
};
}
impl_mask_element! {
i8,
i16,
i32,
i64,
i128,
isize,
}