Struct f32x8

Source
#[repr(C, align(32))]
pub struct f32x8(/* private fields */);
Expand description

SIMD vector of (8) f32 element(s).

Implementations§

Source§

impl f32x8

Source

pub const LEN: usize = 8usize

The amount of elements in a given SIMD vector of this type.

Source

pub const fn splat(value: f32) -> Self

Splats value into all slots of a new SIMD vector.

Source

pub const fn from_array(data: [f32; 8]) -> Self

Constructs a SIMD vector from an array.

Source

pub const fn as_array(&self) -> &[f32; 8]

Reinterprets the SIMD vector as an ordinary array.

Source

pub const fn as_mut_array(&mut self) -> &mut [f32; 8]

Reinterprets the SIMD vector as an ordinary, mutable array.

Source

pub const fn len(&self) -> usize

Retrieves the length of the SIMD vector.

The returned value is always equal to Self::LEN.

Source

pub const fn to_array(self) -> [f32; 8]

Converts the SIMD vector to an ordinary array.

Trait Implementations§

Source§

impl Add<&f32x8> for f32x8

Source§

type Output = f32x8

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl Add<f32x8> for &f32x8

Source§

type Output = f32x8

The resulting type after applying the + operator.
Source§

fn add(self, other: f32x8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add for &f32x8

Source§

type Output = f32x8

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl Add for f32x8

Source§

type Output = f32x8

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl Clone for f32x8

Source§

fn clone(&self) -> f32x8

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for f32x8

Source§

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

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

impl Default for f32x8

Source§

fn default() -> Self

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

impl Div<&f32x8> for f32x8

Source§

type Output = f32x8

The resulting type after applying the / operator.
Source§

fn div(self, other: &Self) -> Self::Output

Performs the / operation. Read more
Source§

impl Div<f32x8> for &f32x8

Source§

type Output = f32x8

The resulting type after applying the / operator.
Source§

fn div(self, other: f32x8) -> Self::Output

Performs the / operation. Read more
Source§

impl Div for &f32x8

Source§

type Output = f32x8

The resulting type after applying the / operator.
Source§

fn div(self, other: Self) -> Self::Output

Performs the / operation. Read more
Source§

impl Div for f32x8

Source§

type Output = f32x8

The resulting type after applying the / operator.
Source§

fn div(self, other: Self) -> Self::Output

Performs the / operation. Read more
Source§

impl From<[f32; 8]> for f32x8

Source§

fn from(value: [f32; 8]) -> Self

Source§

impl FromBytes for f32x8
where [f32; 8]: FromBytes,

Source§

fn mut_from_bytes( source: &mut [u8], ) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
where Self: IntoBytes + KnownLayout,

Interprets the given source as a &mut Self. Read more
Source§

fn mut_from_prefix( source: &mut [u8], ) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
where Self: IntoBytes + KnownLayout,

Interprets the prefix of the given source as a &mut Self without copying. Read more
Source§

fn mut_from_suffix( source: &mut [u8], ) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
where Self: IntoBytes + KnownLayout,

Interprets the suffix of the given source as a &mut Self without copying. Read more
Source§

fn mut_from_prefix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
where Self: IntoBytes + KnownLayout<PointerMetadata = usize>,

Interprets the prefix of the given source as a &mut Self with DST length equal to count. Read more
Source§

fn mut_from_suffix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
where Self: IntoBytes + KnownLayout<PointerMetadata = usize>,

Interprets the suffix of the given source as a &mut Self with DST length equal to count. Read more
Source§

fn read_from_bytes(source: &[u8]) -> Result<Self, SizeError<&[u8], Self>>
where Self: Sized,

Reads a copy of Self from the given source. Read more
Source§

fn read_from_prefix( source: &[u8], ) -> Result<(Self, &[u8]), SizeError<&[u8], Self>>
where Self: Sized,

Reads a copy of Self from the prefix of the given source. Read more
Source§

fn read_from_suffix( source: &[u8], ) -> Result<(&[u8], Self), SizeError<&[u8], Self>>
where Self: Sized,

Reads a copy of Self from the suffix of the given source. Read more
Source§

fn read_from_io<R>(src: R) -> Result<Self, Error>
where Self: Sized, R: Read,

Reads a copy of self from an io::Read. Read more
Source§

impl FromZeros for f32x8
where [f32; 8]: FromZeros,

Source§

fn zero(&mut self)

Overwrites self with zeros. Read more
Source§

fn new_zeroed() -> Self
where Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
Source§

fn new_box_zeroed() -> Result<Box<Self>, AllocError>
where Self: Sized,

Creates a Box<Self> from zeroed bytes. Read more
Source§

fn new_box_zeroed_with_elems(count: usize) -> Result<Box<Self>, AllocError>
where Self: KnownLayout<PointerMetadata = usize>,

Creates a Box<[Self]> (a boxed slice) from zeroed bytes. Read more
Source§

fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>
where Self: Sized,

Creates a Vec<Self> from zeroed bytes. Read more
Source§

fn extend_vec_zeroed( v: &mut Vec<Self>, additional: usize, ) -> Result<(), AllocError>
where Self: Sized,

Extends a Vec<Self> by pushing additional new items onto the end of the vector. The new items are initialized with zeros.
Source§

fn insert_vec_zeroed( v: &mut Vec<Self>, position: usize, additional: usize, ) -> Result<(), AllocError>
where Self: Sized,

Inserts additional new items into Vec<Self> at position. The new items are initialized with zeros. Read more
Source§

impl IntoBytes for f32x8
where [f32; 8]: IntoBytes, (): PaddingFree<Self, { _ }>,

Source§

fn as_mut_bytes(&mut self) -> &mut [u8]
where Self: FromBytes,

Gets the bytes of this value mutably. Read more
Source§

impl KnownLayout for f32x8
where [f32; 8]: KnownLayout,

Source§

type PointerMetadata = <[f32; 8] as KnownLayout>::PointerMetadata

The type of metadata stored in a pointer to Self. Read more
Source§

impl Mul<&f32x8> for f32x8

Source§

type Output = f32x8

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Self) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<f32x8> for &f32x8

Source§

type Output = f32x8

The resulting type after applying the * operator.
Source§

fn mul(self, other: f32x8) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul for &f32x8

Source§

type Output = f32x8

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul for f32x8

Source§

type Output = f32x8

The resulting type after applying the * operator.
Source§

fn mul(self, other: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl PartialEq for f32x8

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 PartialOrd for f32x8

Source§

fn partial_cmp(&self, other: &f32x8) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Rem<&f32x8> for f32x8

Source§

type Output = f32x8

The resulting type after applying the % operator.
Source§

fn rem(self, other: &Self) -> Self::Output

Performs the % operation. Read more
Source§

impl Rem<f32x8> for &f32x8

Source§

type Output = f32x8

The resulting type after applying the % operator.
Source§

fn rem(self, other: f32x8) -> Self::Output

Performs the % operation. Read more
Source§

impl Rem for &f32x8

Source§

type Output = f32x8

The resulting type after applying the % operator.
Source§

fn rem(self, other: Self) -> Self::Output

Performs the % operation. Read more
Source§

impl Rem for f32x8

Source§

type Output = f32x8

The resulting type after applying the % operator.
Source§

fn rem(self, other: Self) -> Self::Output

Performs the % operation. Read more
Source§

impl SimdPartialEq for f32x8

Source§

type Mask = Mask32x8

The mask type denoting the comparison result.
Source§

fn simd_eq(self, other: Self) -> Self::Mask

Tests equality between SIMD elements.
Source§

fn simd_ne(self, other: Self) -> Self::Mask

Tests inequality between SIMD elements.
Source§

impl SimdPartialOrd for f32x8

Source§

fn simd_lt(self, other: Self) -> Self::Mask

Tests lessness between SIMD elements.
Source§

fn simd_le(self, other: Self) -> Self::Mask

Tests lessness or equality between SIMD elements.
Source§

fn simd_gt(self, other: Self) -> Self::Mask

Tests moreness between SIMD elements.
Source§

fn simd_ge(self, other: Self) -> Self::Mask

Tests moreness or equality between SIMD elements.
Source§

impl StdFloat for f32x8

Source§

fn mul_add(self, a: Self, b: Self) -> Self

Performs fused multiply-add on the vector elements.
Source§

fn sqrt(self) -> Self

Computes the square roots for the elements of self.
Source§

fn cbrt(self) -> Self

Computes the cube roots for the elements of self.
Source§

fn sin(self) -> Self

Computes the sines for the elements of self.
Source§

fn cos(self) -> Self

Computes the cosines for the elements of self.
Source§

fn tan(self) -> Self

Computes the tangents for the elements of self.
Source§

fn asin(self) -> Self

Computes the arc sines for the elements of self.
Source§

fn acos(self) -> Self

Computes the arc cosines for the elements of self.
Source§

fn atan(self) -> Self

Computes the arc tangents for the elements of self via the unary function.
Source§

fn atan2(self, a: Self, b: Self) -> Self

Computes the arc tangents for the elements of self via the binary function.
Source§

fn sinh(self) -> Self

Computes the hyperbolic sines for the elements of self.
Source§

fn cosh(self) -> Self

Computes the hyperbolic cosines for the elements of self.
Source§

fn tanh(self) -> Self

Computes the hyperbolic tangents for the elements of self.
Source§

fn asinh(self) -> Self

Computes the arc hyperbolic sines for the elements of self.
Source§

fn acosh(self) -> Self

Computes the arc hyperbolic cosines for the elements of self.
Source§

fn atanh(self) -> Self

Computes the arc hyperbolic tangents for the elements of self.
Source§

fn exp(self) -> Self

Computes the exponential function for the elements of self.
Source§

fn exp2(self) -> Self

Computes the power with the base (2) for the elements of self.
Source§

fn log(self, base: Self) -> Self

Computes the logarithm with base base for the elements of self.
Source§

fn ln(self) -> Self

Computes the natural logarithm (with base (e)) for the elements of self.
Source§

fn log2(self) -> Self

Computes the binary logarithm (with base (2)) for the elements of self.
Source§

fn log10(self) -> Self

Computes the common logarithm (with base (10)) for the elements of self.
Source§

fn round(self) -> Self

Rounds the elements of self to the nearest integer
Source§

fn ceil(self) -> Self

Rounds the elements of self up to the nearest integer.
Source§

fn floor(self) -> Self

Rounds the elements of self down to the nearest integer towards.
Source§

fn trunc(self) -> Self

Rounds the elements of self to the nearest integer closest to (0).
Source§

fn fract(self) -> Self

Removes the integral parts of the elements of self.
Source§

impl Sub<&f32x8> for f32x8

Source§

type Output = f32x8

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl Sub<f32x8> for &f32x8

Source§

type Output = f32x8

The resulting type after applying the - operator.
Source§

fn sub(self, other: f32x8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub for &f32x8

Source§

type Output = f32x8

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl Sub for f32x8

Source§

type Output = f32x8

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl TryFromBytes for f32x8
where [f32; 8]: TryFromBytes,

Source§

fn try_mut_from_bytes( bytes: &mut [u8], ) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
where Self: KnownLayout + IntoBytes,

Attempts to interpret the given source as a &mut Self without copying. Read more
Source§

fn try_mut_from_prefix( source: &mut [u8], ) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
where Self: KnownLayout + IntoBytes,

Attempts to interpret the prefix of the given source as a &mut Self. Read more
Source§

fn try_mut_from_suffix( source: &mut [u8], ) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
where Self: KnownLayout + IntoBytes,

Attempts to interpret the suffix of the given source as a &mut Self. Read more
Source§

fn try_mut_from_bytes_with_elems( source: &mut [u8], count: usize, ) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
where Self: KnownLayout<PointerMetadata = usize> + IntoBytes,

Attempts to interpret the given source as a &mut Self with a DST length equal to count. Read more
Source§

fn try_mut_from_prefix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
where Self: KnownLayout<PointerMetadata = usize> + IntoBytes,

Attempts to interpret the prefix of the given source as a &mut Self with a DST length equal to count. Read more
Source§

fn try_mut_from_suffix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
where Self: KnownLayout<PointerMetadata = usize> + IntoBytes,

Attempts to interpret the suffix of the given source as a &mut Self with a DST length equal to count. Read more
Source§

fn try_read_from_bytes( source: &[u8], ) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
where Self: Sized,

Attempts to read the given source as a Self. Read more
Source§

fn try_read_from_prefix( source: &[u8], ) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
where Self: Sized,

Attempts to read a Self from the prefix of the given source. Read more
Source§

fn try_read_from_suffix( source: &[u8], ) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
where Self: Sized,

Attempts to read a Self from the suffix of the given source. Read more
Source§

impl Zeroable for f32x8
where f32: Pod,

Source§

fn zeroed() -> Self

Source§

impl Copy for f32x8

Source§

impl Pod for f32x8
where f32: Pod,

Source§

impl StructuralPartialEq for f32x8

Auto Trait Implementations§

§

impl Freeze for f32x8

§

impl RefUnwindSafe for f32x8

§

impl Send for f32x8

§

impl Sync for f32x8

§

impl Unpin for f32x8

§

impl UnwindSafe for f32x8

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> 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> 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, 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.
Source§

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

Source§

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