Skip to main content

i8x16

Struct i8x16 

Source
pub struct i8x16 { /* private fields */ }

Implementations§

Source§

impl i8x16

Source

pub const ONE: i8x16

Source

pub const ZERO: i8x16

Source

pub const MAX: i8x16

Source

pub const MIN: i8x16

Source

pub const LANES: u16 = 16

The number of lanes in this SIMD vector.

Source

pub const BITS: u16 = 128

The size of this SIMD vector in bits.

Source§

impl i8x16

Source

pub const fn new(array: [i8; 16]) -> Self

Source

pub fn from_i16x16_saturate(v: i16x16) -> i8x16

converts i16 to i8, saturating values that are too large

Source

pub fn from_i16x16_truncate(v: i16x16) -> i8x16

converts i16 to i8, truncating the upper bits if they are set

Source

pub fn blend(self, t: Self, f: Self) -> Self

Source

pub fn abs(self) -> Self

Source

pub fn unsigned_abs(self) -> u8x16

Source

pub fn max(self, rhs: Self) -> Self

Source

pub fn min(self, rhs: Self) -> Self

Source

pub fn from_slice_unaligned(input: &[i8]) -> Self

Source

pub fn move_mask(self) -> i32

Source

pub fn any(self) -> bool

Source

pub fn all(self) -> bool

Source

pub fn swizzle(self, rhs: i8x16) -> i8x16

Returns a new vector where each element is based on the index values in rhs.

  • Index values in the range [0, 15] select the i-th element of self.
  • Index values that are out of range will cause that output lane to be 0.
Source

pub fn swizzle_relaxed(self, rhs: i8x16) -> i8x16

Works like swizzle with the following additional details

  • Indices in the range [0, 15] will select the i-th element of self.
  • If the high bit of any index is set (meaning that the index is negative), then the corresponding output lane is guaranteed to be zero.
  • Otherwise the output lane is either 0 or self[rhs[i] % 16], depending on the implementation.
Source

pub fn none(self) -> bool

Source

pub fn saturating_add(self, rhs: Self) -> Self

Source

pub fn saturating_sub(self, rhs: Self) -> Self

Source

pub fn to_array(self) -> [i8; 16]

Source

pub fn as_array_ref(&self) -> &[i8; 16]

Source

pub fn as_array_mut(&mut self) -> &mut [i8; 16]

Source§

impl i8x16

Source

pub fn splat(elem: i8) -> i8x16

Trait Implementations§

Source§

impl Add for i8x16

Source§

type Output = i8x16

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&i8x16> for i8x16

Source§

type Output = i8x16

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Self) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i8> for i8x16

Source§

type Output = i8x16

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i8x16> for i8

Source§

type Output = i8x16

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i8x16) -> Self::Output

Performs the + operation. Read more
Source§

impl AddAssign for i8x16

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl AddAssign<&i8x16> for i8x16

Source§

fn add_assign(&mut self, rhs: &Self)

Performs the += operation. Read more
Source§

impl Binary for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl BitAnd for i8x16

Source§

type Output = i8x16

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&i8x16> for i8x16

Source§

type Output = i8x16

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Self) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAndAssign for i8x16

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl BitAndAssign<&i8x16> for i8x16

Source§

fn bitand_assign(&mut self, rhs: &Self)

Performs the &= operation. Read more
Source§

impl BitOr for i8x16

Source§

type Output = i8x16

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&i8x16> for i8x16

Source§

type Output = i8x16

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Self) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOrAssign for i8x16

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl BitOrAssign<&i8x16> for i8x16

Source§

fn bitor_assign(&mut self, rhs: &Self)

Performs the |= operation. Read more
Source§

impl BitXor for i8x16

Source§

type Output = i8x16

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&i8x16> for i8x16

Source§

type Output = i8x16

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXorAssign for i8x16

Source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
Source§

impl BitXorAssign<&i8x16> for i8x16

Source§

fn bitxor_assign(&mut self, rhs: &Self)

Performs the ^= operation. Read more
Source§

impl Clone for i8x16

Source§

fn clone(&self) -> i8x16

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CmpEq for i8x16

Source§

type Output = i8x16

Source§

fn cmp_eq(self, rhs: Self) -> Self::Output

Source§

impl CmpGt for i8x16

Source§

type Output = i8x16

Source§

fn cmp_gt(self, rhs: Self) -> Self::Output

Source§

impl CmpLt for i8x16

Source§

type Output = i8x16

Source§

fn cmp_lt(self, rhs: Self) -> Self::Output

Source§

impl Copy for i8x16

Source§

impl Debug for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for i8x16

Source§

fn default() -> i8x16

Returns the “default value” for a type. Read more
Source§

impl Display for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for i8x16

Source§

impl From<&[i8]> for i8x16

Source§

fn from(src: &[i8]) -> i8x16

Converts to this type from the input type.
Source§

impl From<[i8; 16]> for i8x16

Source§

fn from(arr: [i8; 16]) -> Self

Converts to this type from the input type.
Source§

impl From<i8> for i8x16

Source§

fn from(elem: i8) -> Self

Splats the single value given across all lanes.

Source§

impl From<i8x16> for i16x16

Source§

fn from(i: i8x16) -> Self

widen with sign extend from i8 to i16

Source§

impl From<i8x16> for [i8; 16]

Source§

fn from(simd: i8x16) -> Self

Converts to this type from the input type.
Source§

impl LowerExp for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl LowerHex for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Neg for i8x16

Source§

type Output = i8x16

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Neg for &i8x16

Source§

type Output = i8x16

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Not for i8x16

Source§

type Output = i8x16

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl Not for &i8x16

Source§

type Output = i8x16

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl Octal for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for i8x16

Source§

fn eq(&self, other: &i8x16) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Pod for i8x16

Source§

impl StructuralPartialEq for i8x16

Source§

impl Sub for i8x16

Source§

type Output = i8x16

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&i8x16> for i8x16

Source§

type Output = i8x16

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Self) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i8> for i8x16

Source§

type Output = i8x16

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i8x16> for i8

Source§

type Output = i8x16

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i8x16) -> Self::Output

Performs the - operation. Read more
Source§

impl SubAssign for i8x16

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl SubAssign<&i8x16> for i8x16

Source§

fn sub_assign(&mut self, rhs: &Self)

Performs the -= operation. Read more
Source§

impl<RHS> Sum<RHS> for i8x16
where i8x16: AddAssign<RHS>,

Source§

fn sum<I: Iterator<Item = RHS>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl UpperExp for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl UpperHex for i8x16

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Zeroable for i8x16

Source§

fn zeroed() -> Self

Auto Trait Implementations§

§

impl Freeze for i8x16

§

impl RefUnwindSafe for i8x16

§

impl Send for i8x16

§

impl Sync for i8x16

§

impl Unpin for i8x16

§

impl UnsafeUnpin for i8x16

§

impl UnwindSafe for i8x16

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyBitPattern for T
where T: Pod,

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CheckedBitPattern for T
where T: AnyBitPattern,

Source§

type Bits = T

Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern.
Source§

fn is_valid_bit_pattern(_bits: &T) -> bool

If this function returns true, then it must be valid to reinterpret bits as &Self.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> NoUninit for T
where T: Pod,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.