Type Definition packed_simd_2::i8x4 [−][src]
pub type i8x4 = Simd<[i8; 4]>;Expand description
A 32-bit vector with 4 i8 lanes.
Implementations
Creates a new instance with each vector elements initialized with the provided values.
Constructs a new instance with each element initialized to
value.
Returns a new vector where the value at index is replaced by new_value.
Panics
If index >= Self::lanes().
Returns a new vector where the value at index is replaced by new_value.
Safety
If index >= Self::lanes() the behavior is undefined.
Shifts the bits of each lane to the left by the specified
amount in the corresponding lane of n, wrapping the
truncated bits to the end of the resulting integer.
Note: this is neither the same operation as << nor equivalent
to slice::rotate_left.
Shifts the bits of each lane to the right by the specified
amount in the corresponding lane of n, wrapping the
truncated bits to the beginning of the resulting integer.
Note: this is neither the same operation as << nor equivalent
to slice::rotate_left.
Horizontal wrapping sum of the vector elements.
The intrinsic performs a tree-reduction of the vector elements. That is, for an 8 element vector:
((x0 + x1) + (x2 + x3)) + ((x4 + x5) + (x6 + x7))
If an operation overflows it returns the mathematical result
modulo 2^n where n is the number of times it overflows.
Horizontal wrapping product of the vector elements.
The intrinsic performs a tree-reduction of the vector elements. That is, for an 8 element vector:
((x0 * x1) * (x2 * x3)) * ((x4 * x5) * (x6 * x7))
If an operation overflows it returns the mathematical result
modulo 2^n where n is the number of times it overflows.
Largest vector element value.
Smallest vector element value.
Lane-wise bitwise and of the vector elements.
Note: if the vector has one lane, the first element of the vector is returned.
Lane-wise bitwise or of the vector elements.
Note: if the vector has one lane, the first element of the vector is returned.
Instantiates a new vector with the values of the slice.
Panics
If slice.len() < Self::lanes() or &slice[0] is not aligned
to an align_of::<Self>() boundary.
Instantiates a new vector with the values of the slice.
Safety
If slice.len() < Self::lanes() or &slice[0] is not aligned
to an align_of::<Self>() boundary, the behavior is undefined.
Instantiates a new vector with the values of the slice.
Safety
If slice.len() < Self::lanes() the behavior is undefined.
Writes the values of the vector to the slice.
Panics
If slice.len() < Self::lanes() or &slice[0] is not
aligned to an align_of::<Self>() boundary.
Writes the values of the vector to the slice.
Safety
If slice.len() < Self::lanes() or &slice[0] is not
aligned to an align_of::<Self>() boundary, the behavior is
undefined.
Writes the values of the vector to the slice.
Safety
If slice.len() < Self::lanes() the behavior is undefined.
Reverses the byte order of the vector.
Converts self to little endian from the target’s endianness.
On little endian this is a no-op. On big endian the bytes are swapped.
Converts self to big endian from the target’s endianness.
On big endian this is a no-op. On little endian the bytes are swapped.
Converts a vector from little endian to the target’s endianness.
On little endian this is a no-op. On big endian the bytes are swapped.
Returns the number of ones in the binary representation of
the lanes of self.
Returns the number of zeros in the binary representation of
the lanes of self.
Returns the number of leading zeros in the binary
representation of the lanes of self.
Returns the number of trailing zeros in the binary
representation of the lanes of self.
Shuffle vector elements according to indices.
Returns a wrapper that implements PartialOrd.
Returns a wrapper that implements Ord.
Trait Implementations
Performs the += operation. Read more
Performs the += operation. Read more
Performs the &= operation. Read more
Performs the &= operation. Read more
Performs the |= operation. Read more
Performs the |= operation. Read more
Performs the ^= operation. Read more
Performs the ^= operation. Read more
Performs the /= operation. Read more
Performs the /= operation. Read more
Performs the *= operation. Read more
Performs the *= operation. Read more
Performs the %= operation. Read more
Performs the %= operation. Read more
Performs the <<= operation. Read more
Performs the <<= operation. Read more
Performs the >>= operation. Read more
Performs the >>= operation. Read more
Performs the -= operation. Read more
Performs the -= operation. Read more