Struct std::simd::f32x8
[−]
[src]
#[repr(simd)]pub struct f32x8(_, _, _, _, _, _, _, _);
A 256-bit vector with 8 f32 lanes.
Methods
impl f32x8[src]
pub const fn new(
x0: f32,
x1: f32,
x2: f32,
x3: f32,
x4: f32,
x5: f32,
x6: f32,
x7: f32
) -> f32x8[src]
x0: f32,
x1: f32,
x2: f32,
x3: f32,
x4: f32,
x5: f32,
x6: f32,
x7: f32
) -> f32x8
Creates a new instance with each vector elements initialized with the provided values.
pub const fn lanes() -> usize[src]
Returns the number of vector lanes.
pub const fn splat(value: f32) -> f32x8[src]
Constructs a new instance with each element initialized to
value.
pub fn extract(self, index: usize) -> f32[src]
pub unsafe fn extract_unchecked(self, index: usize) -> f32[src]
Extracts the value at index.
If index >= Self::lanes() the behavior is undefined.
pub fn replace(self, index: usize, new_value: f32) -> f32x8[src]
Returns a new vector where the value at index is replaced by new_value.
Panics
If index >= Self::lanes().
pub unsafe fn replace_unchecked(self, index: usize, new_value: f32) -> f32x8[src]
Returns a new vector where the value at index is replaced by new_value.
Panics
If index >= Self::lanes().
impl f32x8[src]
pub fn store_aligned(self, slice: &mut [f32])[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 store_unaligned(self, slice: &mut [f32])[src]
pub unsafe fn store_aligned_unchecked(self, slice: &mut [f32])[src]
Writes the values of the vector to the slice.
Precondition
If slice.len() < Self::lanes() or &slice[0] is not
aligned to an align_of::<Self>() boundary, the behavior is
undefined.
pub unsafe fn store_unaligned_unchecked(self, slice: &mut [f32])[src]
Writes the values of the vector to the slice.
Precondition
If slice.len() < Self::lanes() the behavior is undefined.
pub fn load_aligned(slice: &[f32]) -> f32x8[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 load_unaligned(slice: &[f32]) -> f32x8[src]
pub unsafe fn load_aligned_unchecked(slice: &[f32]) -> f32x8[src]
Instantiates a new vector with the values of the slice.
Precondition
If slice.len() < Self::lanes() or &slice[0] is not aligned
to an align_of::<Self>() boundary, the behavior is undefined.
pub unsafe fn load_unaligned_unchecked(slice: &[f32]) -> f32x8[src]
Instantiates a new vector with the values of the slice.
Precondition
If slice.len() < Self::lanes() the behavior is undefined.
impl f32x8[src]
pub fn eq(self, other: f32x8) -> b8x8[src]
Lane-wise equality comparison.
pub fn ne(self, other: f32x8) -> b8x8[src]
Lane-wise inequality comparison.
pub fn lt(self, other: f32x8) -> b8x8[src]
Lane-wise less-than comparison.
pub fn le(self, other: f32x8) -> b8x8[src]
Lane-wise less-than-or-equals comparison.
pub fn gt(self, other: f32x8) -> b8x8[src]
Lane-wise greater-than comparison.
pub fn ge(self, other: f32x8) -> b8x8[src]
Lane-wise greater-than-or-equals comparison.
impl f32x8[src]
pub fn sum(self) -> f32[src]
Lane-wise addition of the vector elements.
pub fn product(self) -> f32[src]
Lane-wise multiplication of the vector elements.
impl f32x8[src]
pub fn max(self) -> f32[src]
Largest vector value.
pub fn min(self) -> f32[src]
Smallest vector value.
Trait Implementations
impl Default for f32x8[src]
impl Clone for f32x8[src]
fn clone(&self) -> f32x8[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl PartialOrd<f32x8> for f32x8[src]
fn partial_cmp(&self, __arg_0: &f32x8) -> Option<Ordering>[src]
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, __arg_0: &f32x8) -> bool[src]
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, __arg_0: &f32x8) -> bool[src]
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, __arg_0: &f32x8) -> bool[src]
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, __arg_0: &f32x8) -> bool[src]
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl Rem<f32x8> for f32x8[src]
type Output = f32x8
The resulting type after applying the % operator.
fn rem(self, other: f32x8) -> f32x8[src]
Performs the % operation.
impl FromBits<f32x8> for f64x4[src]
impl FromBits<i8x32> for f32x8[src]
impl FromBits<i64x4> for f32x8[src]
impl FromBits<__m256d> for f32x8[src]
impl FromBits<__m256> for f32x8[src]
impl FromBits<f32x8> for __m256[src]
impl FromBits<f32x8> for u32x8[src]
impl FromBits<f32x8> for u16x16[src]
impl FromBits<u64x4> for f32x8[src]
impl FromBits<f32x8> for __m256d[src]
impl FromBits<f32x8> for __m256i[src]
impl FromBits<f32x8> for u64x4[src]
impl FromBits<u16x16> for f32x8[src]
impl FromBits<i16x16> for f32x8[src]
impl FromBits<f32x8> for i64x4[src]
impl FromBits<f32x8> for i8x32[src]
impl FromBits<u32x8> for f32x8[src]
impl FromBits<f64x4> for f32x8[src]
impl FromBits<__m256i> for f32x8[src]
impl FromBits<u8x32> for f32x8[src]
impl FromBits<b8x32> for f32x8[src]
impl FromBits<f32x8> for u8x32[src]
impl FromBits<f32x8> for i16x16[src]
impl FromBits<i32x8> for f32x8[src]
impl FromBits<f32x8> for i32x8[src]
impl Debug for f32x8[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter. Read more
impl Mul<f32x8> for f32x8[src]
type Output = f32x8
The resulting type after applying the * operator.
fn mul(self, other: f32x8) -> f32x8[src]
Performs the * operation.
impl PartialEq<f32x8> for f32x8[src]
fn eq(&self, other: &f32x8) -> bool[src]
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &f32x8) -> bool[src]
This method tests for !=.
impl From<f32x8> for u32x8[src]
impl From<u16x8> for f32x8[src]
impl From<f32x8> for i64x8[src]
impl From<i16x8> for f32x8[src]
impl From<i32x8> for f32x8[src]
impl From<f32x8> for u16x8[src]
impl From<f32x8> for u64x8[src]
impl From<f32x8> for i32x8[src]
impl From<u32x8> for f32x8[src]
impl From<f32x8> for f64x8[src]
impl From<i8x8> for f32x8[src]
impl From<f32x8> for i16x8[src]
impl From<f64x8> for f32x8[src]
impl From<u8x8> for f32x8[src]
impl From<i64x8> for f32x8[src]
impl From<f32x8> for i8x8[src]
impl From<u64x8> for f32x8[src]
impl From<f32x8> for u8x8[src]
impl Copy for f32x8[src]
impl Div<f32x8> for f32x8[src]
type Output = f32x8
The resulting type after applying the / operator.
fn div(self, other: f32x8) -> f32x8[src]
Performs the / operation.
impl Add<f32x8> for f32x8[src]
type Output = f32x8
The resulting type after applying the + operator.
fn add(self, other: f32x8) -> f32x8[src]
Performs the + operation.
impl RemAssign<f32x8> for f32x8[src]
fn rem_assign(&mut self, other: f32x8)[src]
Performs the %= operation.
impl DivAssign<f32x8> for f32x8[src]
fn div_assign(&mut self, other: f32x8)[src]
Performs the /= operation.
impl MulAssign<f32x8> for f32x8[src]
fn mul_assign(&mut self, other: f32x8)[src]
Performs the *= operation.
impl SubAssign<f32x8> for f32x8[src]
fn sub_assign(&mut self, other: f32x8)[src]
Performs the -= operation.
impl AddAssign<f32x8> for f32x8[src]
fn add_assign(&mut self, other: f32x8)[src]
Performs the += operation.
impl Neg for f32x8[src]
type Output = f32x8
The resulting type after applying the - operator.
fn neg(self) -> f32x8[src]
Performs the unary - operation.