Trait lav::SimdBits [−][src]
pub trait SimdBits<B: Bits, const LANES: usize> where
Self: Clone + Copy + Default,
Self: PartialEq + Eq + PartialOrd + Ord,
Self: From<[B; LANES]> + AsRef<[B; LANES]> + AsMut<[B; LANES]>,
Self: Product<Self> + Sum<Self>,
for<'a> Self: Product<&'a Self> + Sum<&'a Self>,
Self: Hash,
Self: Debug + Octal,
Self: Index<usize, Output = B> + IndexMut<usize, Output = B>,
Self: Select<Self::Mask>,
Self: Add<Output = Self> + AddAssign,
Self: Sub<Output = Self> + SubAssign,
Self: Mul<Output = Self> + MulAssign,
Self: Div<Output = Self> + DivAssign,
Self: Rem<Output = Self> + RemAssign,
Self: Shl<Output = Self> + ShlAssign,
Self: Shr<Output = Self> + ShrAssign,
Self: BitAnd<Output = Self> + BitAndAssign,
Self: BitOr<Output = Self> + BitOrAssign,
Self: BitXor<Output = Self> + BitXorAssign,
for<'a> Self: Add<&'a Self, Output = Self> + AddAssign<&'a Self>,
for<'a> Self: Sub<&'a Self, Output = Self> + SubAssign<&'a Self>,
for<'a> Self: Mul<&'a Self, Output = Self> + MulAssign<&'a Self>,
for<'a> Self: Div<&'a Self, Output = Self> + DivAssign<&'a Self>,
for<'a> Self: Rem<&'a Self, Output = Self> + RemAssign<&'a Self>,
for<'a> Self: Shl<&'a Self, Output = Self> + ShlAssign<&'a Self>,
for<'a> Self: Shr<&'a Self, Output = Self> + ShrAssign<&'a Self>,
for<'a> Self: BitAnd<&'a Self, Output = Self> + BitAndAssign<&'a Self>,
for<'a> Self: BitOr<&'a Self, Output = Self> + BitOrAssign<&'a Self>,
for<'a> Self: BitXor<&'a Self, Output = Self> + BitXorAssign<&'a Self>,
Self: Not<Output = Self>, {
type Mask: SimdMask<LANES>;
const LANES: usize;
fn splat(value: B) -> Self;
fn lanes_eq(self, other: Self) -> Self::Mask;
fn lanes_ne(self, other: Self) -> Self::Mask;
fn lanes_lt(self, other: Self) -> Self::Mask;
fn lanes_gt(self, other: Self) -> Self::Mask;
fn lanes_le(self, other: Self) -> Self::Mask;
fn lanes_ge(self, other: Self) -> Self::Mask;
fn saturating_add(self, other: Self) -> Self;
fn saturating_sub(self, other: Self) -> Self;
fn lanes(&self) -> usize { ... }
fn abs_sub(self, other: Self) -> Self { ... }
}Associated Types
Associated Constants
Required methods
Test if each lane is equal to the corresponding lane in other.
Test if each lane is not equal to the corresponding lane in other.
Test if each lane is less than the corresponding lane in other.
Test if each lane is greater than the corresponding lane in other.
Test if each lane is less than or equal to the corresponding lane in other.
Test if each lane is greater than or equal to the corresponding lane in other.
fn saturating_add(self, other: Self) -> Self
fn saturating_add(self, other: Self) -> Self
Lanewise saturating add.
fn saturating_sub(self, other: Self) -> Self
fn saturating_sub(self, other: Self) -> Self
Lanewise saturating subtract.
