Type Definition packed_simd_2::isizex4 [−][src]
type isizex4 = Simd<[isize; 4]>;
Expand description
A vector with 4 isize lanes.
Implementations
impl isizex4[src]
impl isizex4[src]pub const fn new(x0: isize, x1: isize, x2: isize, x3: isize) -> Self[src]
pub const fn new(x0: isize, x1: isize, x2: isize, x3: isize) -> Self[src]Creates a new instance with each vector elements initialized with the provided values.
pub const fn splat(value: isize) -> Self[src]
pub const fn splat(value: isize) -> Self[src]Constructs a new instance with each element initialized to
value.
pub unsafe fn extract_unchecked(self, index: usize) -> isize[src]
pub unsafe fn extract_unchecked(self, index: usize) -> isize[src]#[must_use = "replace does not modify the original value - \ it returns a new vector with the value at `index` \ replaced by `new_value`d"]pub fn replace(self, index: usize, new_value: isize) -> Self[src]
#[must_use = "replace does not modify the original value - \ it returns a new vector with the value at `index` \ replaced by `new_value`d"]pub fn replace(self, index: usize, new_value: isize) -> Self[src]Returns a new vector where the value at index is replaced by new_value.
Panics
If index >= Self::lanes().
#[must_use = "replace_unchecked does not modify the original value - \ it returns a new vector with the value at `index` \ replaced by `new_value`d"]pub unsafe fn replace_unchecked(self, index: usize, new_value: isize) -> Self[src]
#[must_use = "replace_unchecked does not modify the original value - \ it returns a new vector with the value at `index` \ replaced by `new_value`d"]pub unsafe fn replace_unchecked(self, index: usize, new_value: isize) -> Self[src]Returns a new vector where the value at index is replaced by new_value.
Safety
If index >= Self::lanes() the behavior is undefined.
impl isizex4[src]
impl isizex4[src]pub fn rotate_left(self, n: isizex4) -> isizex4[src]
pub fn rotate_left(self, n: isizex4) -> isizex4[src]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.
pub fn rotate_right(self, n: isizex4) -> isizex4[src]
pub fn rotate_right(self, n: isizex4) -> isizex4[src]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.
impl isizex4[src]
impl isizex4[src]impl isizex4[src]
impl isizex4[src]pub fn wrapping_sum(self) -> isize[src]
pub fn wrapping_sum(self) -> isize[src]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.
pub fn wrapping_product(self) -> isize[src]
pub fn wrapping_product(self) -> isize[src]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.
impl isizex4[src]
impl isizex4[src]pub fn max_element(self) -> isize[src]
pub fn max_element(self) -> isize[src]Largest vector element value.
pub fn min_element(self) -> isize[src]
pub fn min_element(self) -> isize[src]Smallest vector element value.
impl isizex4[src]
impl isizex4[src]pub fn and(self) -> isize[src]
pub fn and(self) -> isize[src]Lane-wise bitwise and of the vector elements.
Note: if the vector has one lane, the first element of the vector is returned.
impl isizex4[src]
impl isizex4[src]pub fn from_slice_aligned(slice: &[isize]) -> Self[src]
pub fn from_slice_aligned(slice: &[isize]) -> Self[src]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.
pub fn from_slice_unaligned(slice: &[isize]) -> Self[src]
pub fn from_slice_unaligned(slice: &[isize]) -> Self[src]pub unsafe fn from_slice_aligned_unchecked(slice: &[isize]) -> Self[src]
pub unsafe fn from_slice_aligned_unchecked(slice: &[isize]) -> Self[src]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.
pub unsafe fn from_slice_unaligned_unchecked(slice: &[isize]) -> Self[src]
pub unsafe fn from_slice_unaligned_unchecked(slice: &[isize]) -> Self[src]Instantiates a new vector with the values of the slice.
Safety
If slice.len() < Self::lanes() the behavior is undefined.
impl isizex4[src]
impl isizex4[src]pub fn write_to_slice_aligned(self, slice: &mut [isize])[src]
pub fn write_to_slice_aligned(self, slice: &mut [isize])[src]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.
pub fn write_to_slice_unaligned(self, slice: &mut [isize])[src]
pub fn write_to_slice_unaligned(self, slice: &mut [isize])[src]pub unsafe fn write_to_slice_aligned_unchecked(self, slice: &mut [isize])[src]
pub unsafe fn write_to_slice_aligned_unchecked(self, slice: &mut [isize])[src]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.
pub unsafe fn write_to_slice_unaligned_unchecked(self, slice: &mut [isize])[src]
pub unsafe fn write_to_slice_unaligned_unchecked(self, slice: &mut [isize])[src]Writes the values of the vector to the slice.
Safety
If slice.len() < Self::lanes() the behavior is undefined.
impl isizex4[src]
impl isizex4[src]pub fn swap_bytes(self) -> Self[src]
pub fn swap_bytes(self) -> Self[src]Reverses the byte order of the vector.
pub fn to_le(self) -> Self[src]
pub fn to_le(self) -> Self[src]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.
pub fn to_be(self) -> Self[src]
pub fn to_be(self) -> Self[src]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.
impl isizex4[src]
impl isizex4[src]pub fn count_ones(self) -> Self[src]
pub fn count_ones(self) -> Self[src]Returns the number of ones in the binary representation of
the lanes of self.
pub fn count_zeros(self) -> Self[src]
pub fn count_zeros(self) -> Self[src]Returns the number of zeros in the binary representation of
the lanes of self.
pub fn leading_zeros(self) -> Self[src]
pub fn leading_zeros(self) -> Self[src]Returns the number of leading zeros in the binary
representation of the lanes of self.
pub fn trailing_zeros(self) -> Self[src]
pub fn trailing_zeros(self) -> Self[src]Returns the number of trailing zeros in the binary
representation of the lanes of self.
impl isizex4[src]
impl isizex4[src]pub fn shuffle1_dyn<I>(self, indices: I) -> Self where
Self: Shuffle1Dyn<Indices = I>, [src]
pub fn shuffle1_dyn<I>(self, indices: I) -> Self where
Self: Shuffle1Dyn<Indices = I>, [src]Shuffle vector elements according to indices.
impl isizex4[src]
impl isizex4[src]impl isizex4[src]
impl isizex4[src]pub fn partial_lex_ord(&self) -> LexicographicallyOrdered<isizex4>[src]
pub fn partial_lex_ord(&self) -> LexicographicallyOrdered<isizex4>[src]Returns a wrapper that implements PartialOrd.
impl isizex4[src]
impl isizex4[src]pub fn lex_ord(&self) -> LexicographicallyOrdered<isizex4>[src]
pub fn lex_ord(&self) -> LexicographicallyOrdered<isizex4>[src]Returns a wrapper that implements Ord.
impl isizex4[src]
impl isizex4[src]Trait Implementations
impl AddAssign<Simd<[isize; 4]>> for isizex4[src]
impl AddAssign<Simd<[isize; 4]>> for isizex4[src]fn add_assign(&mut self, other: Self)[src]
fn add_assign(&mut self, other: Self)[src]Performs the += operation. Read more
impl AddAssign<isize> for isizex4[src]
impl AddAssign<isize> for isizex4[src]fn add_assign(&mut self, other: isize)[src]
fn add_assign(&mut self, other: isize)[src]Performs the += operation. Read more
impl BitAndAssign<Simd<[isize; 4]>> for isizex4[src]
impl BitAndAssign<Simd<[isize; 4]>> for isizex4[src]fn bitand_assign(&mut self, other: Self)[src]
fn bitand_assign(&mut self, other: Self)[src]Performs the &= operation. Read more
impl BitAndAssign<isize> for isizex4[src]
impl BitAndAssign<isize> for isizex4[src]fn bitand_assign(&mut self, other: isize)[src]
fn bitand_assign(&mut self, other: isize)[src]Performs the &= operation. Read more
impl BitOrAssign<Simd<[isize; 4]>> for isizex4[src]
impl BitOrAssign<Simd<[isize; 4]>> for isizex4[src]fn bitor_assign(&mut self, other: Self)[src]
fn bitor_assign(&mut self, other: Self)[src]Performs the |= operation. Read more
impl BitOrAssign<isize> for isizex4[src]
impl BitOrAssign<isize> for isizex4[src]fn bitor_assign(&mut self, other: isize)[src]
fn bitor_assign(&mut self, other: isize)[src]Performs the |= operation. Read more
impl BitXorAssign<Simd<[isize; 4]>> for isizex4[src]
impl BitXorAssign<Simd<[isize; 4]>> for isizex4[src]fn bitxor_assign(&mut self, other: Self)[src]
fn bitxor_assign(&mut self, other: Self)[src]Performs the ^= operation. Read more
impl BitXorAssign<isize> for isizex4[src]
impl BitXorAssign<isize> for isizex4[src]fn bitxor_assign(&mut self, other: isize)[src]
fn bitxor_assign(&mut self, other: isize)[src]Performs the ^= operation. Read more
impl DivAssign<Simd<[isize; 4]>> for isizex4[src]
impl DivAssign<Simd<[isize; 4]>> for isizex4[src]fn div_assign(&mut self, other: Self)[src]
fn div_assign(&mut self, other: Self)[src]Performs the /= operation. Read more
impl DivAssign<isize> for isizex4[src]
impl DivAssign<isize> for isizex4[src]fn div_assign(&mut self, other: isize)[src]
fn div_assign(&mut self, other: isize)[src]Performs the /= operation. Read more
impl MulAssign<Simd<[isize; 4]>> for isizex4[src]
impl MulAssign<Simd<[isize; 4]>> for isizex4[src]fn mul_assign(&mut self, other: Self)[src]
fn mul_assign(&mut self, other: Self)[src]Performs the *= operation. Read more
impl MulAssign<isize> for isizex4[src]
impl MulAssign<isize> for isizex4[src]fn mul_assign(&mut self, other: isize)[src]
fn mul_assign(&mut self, other: isize)[src]Performs the *= operation. Read more
impl RemAssign<Simd<[isize; 4]>> for isizex4[src]
impl RemAssign<Simd<[isize; 4]>> for isizex4[src]fn rem_assign(&mut self, other: Self)[src]
fn rem_assign(&mut self, other: Self)[src]Performs the %= operation. Read more
impl RemAssign<isize> for isizex4[src]
impl RemAssign<isize> for isizex4[src]fn rem_assign(&mut self, other: isize)[src]
fn rem_assign(&mut self, other: isize)[src]Performs the %= operation. Read more
impl ShlAssign<Simd<[isize; 4]>> for isizex4[src]
impl ShlAssign<Simd<[isize; 4]>> for isizex4[src]fn shl_assign(&mut self, other: Self)[src]
fn shl_assign(&mut self, other: Self)[src]Performs the <<= operation. Read more
impl ShlAssign<u32> for isizex4[src]
impl ShlAssign<u32> for isizex4[src]fn shl_assign(&mut self, other: u32)[src]
fn shl_assign(&mut self, other: u32)[src]Performs the <<= operation. Read more
impl ShrAssign<Simd<[isize; 4]>> for isizex4[src]
impl ShrAssign<Simd<[isize; 4]>> for isizex4[src]fn shr_assign(&mut self, other: Self)[src]
fn shr_assign(&mut self, other: Self)[src]Performs the >>= operation. Read more
impl ShrAssign<u32> for isizex4[src]
impl ShrAssign<u32> for isizex4[src]fn shr_assign(&mut self, other: u32)[src]
fn shr_assign(&mut self, other: u32)[src]Performs the >>= operation. Read more
impl SubAssign<Simd<[isize; 4]>> for isizex4[src]
impl SubAssign<Simd<[isize; 4]>> for isizex4[src]fn sub_assign(&mut self, other: Self)[src]
fn sub_assign(&mut self, other: Self)[src]Performs the -= operation. Read more
impl SubAssign<isize> for isizex4[src]
impl SubAssign<isize> for isizex4[src]fn sub_assign(&mut self, other: isize)[src]
fn sub_assign(&mut self, other: isize)[src]Performs the -= operation. Read more