pub trait SimdMask<const N: usize>where
LaneCount<N>: SupportedLaneCount,
Self: Send + Sync + Clone + Copy + Default + PartialEq + PartialOrd + Debug + From<[bool; N]> + Into<[bool; N]> + Select<Self> + BitAnd<Output = Self> + BitAndAssign + BitAnd<bool, Output = Self> + BitAndAssign<bool> + BitOr<Output = Self> + BitOrAssign + BitOr<bool, Output = Self> + BitOrAssign<bool> + BitXor<Output = Self> + BitXorAssign + BitXor<bool, Output = Self> + BitXorAssign<bool> + Not<Output = Self>,{
const N: usize = N;
// Required methods
fn splat(value: bool) -> Self;
fn from_array(array: [bool; N]) -> Self;
fn to_array(self) -> [bool; N];
fn all(self) -> bool;
fn any(self) -> bool;
fn set(&mut self, lane: usize, value: bool);
fn test(&self, lane: usize) -> bool;
// Provided methods
fn len(&self) -> usize { ... }
fn flag(lane: usize, value: bool) -> Self { ... }
fn select<S: Select<Self>>(self, true_values: S, false_values: S) -> S { ... }
fn negate<S: Select<Self> + Neg<Output = S> + Copy>(self, values: S) -> S { ... }
}
Expand description
Mask vector of Mask<i32, N>
or Mask<i64, N>
.
Provided Associated Constants§
Required Methods§
sourcefn from_array(array: [bool; N]) -> Self
fn from_array(array: [bool; N]) -> Self
Converts an array to a SIMD vector mask.
Provided Methods§
sourcefn flag(lane: usize, value: bool) -> Self
fn flag(lane: usize, value: bool) -> Self
Constructs a mask with lane
set to value
and all the other lanes set to !value
.
Object Safety§
This trait is not object safe.