Struct std::simd::f32x4[][src]

#[repr(simd)]
pub struct f32x4(_, _, _, _);
🔬 This is a nightly-only experimental API. (stdsimd #48556)

A 128-bit vector with 4 f32 lanes.

Methods

impl f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Creates a new instance with each vector elements initialized with the provided values.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Returns the number of vector lanes.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Constructs a new instance with each element initialized to value.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Extracts the value at index.

Panics

If index >= Self::lanes().

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Extracts the value at index.

Precondition

If index >= Self::lanes() the behavior is undefined.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Returns a new vector where the value at index is replaced by new_value.

Panics

If index >= Self::lanes().

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Returns a new vector where the value at index is replaced by new_value.

Precondition

If index >= Self::lanes() the behavior is undefined.

impl f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

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.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Writes the values of the vector to the slice.

Panics

If slice.len() < Self::lanes().

🔬 This is a nightly-only experimental API. (stdsimd #48556)

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.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Writes the values of the vector to the slice.

Precondition

If slice.len() < Self::lanes() the behavior is undefined.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

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.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Instantiates a new vector with the values of the slice.

Panics

If slice.len() < Self::lanes().

🔬 This is a nightly-only experimental API. (stdsimd #48556)

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.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Instantiates a new vector with the values of the slice.

Precondition

If slice.len() < Self::lanes() the behavior is undefined.

impl f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Lane-wise equality comparison.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Lane-wise inequality comparison.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Lane-wise less-than comparison.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Lane-wise less-than-or-equals comparison.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Lane-wise greater-than comparison.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Lane-wise greater-than-or-equals comparison.

impl f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Horizontal 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))

Integer vectors

If an operation overflows it returns the mathematical result modulo 2^n where n is the number of times it overflows.

Floating-point vectors

If one of the vector element is NaN the reduction returns NaN.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Horizontal 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))

Integer vectors

If an operation overflows it returns the mathematical result modulo 2^n where n is the number of times it overflows.

Floating-point vectors

If one of the vector element is NaN the reduction returns NaN.

impl f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Largest vector element value.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Smallest vector element value.

impl f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Minimum of two vectors.

Returns a new vector containing the minimum value of each of the input vector lanes. The lane-wise semantics are the same as that of min for the primitive floating-point types.

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Maximum of two vectors.

Returns a new vector containing the minimum value of each of the input vector lanes. The lane-wise semantics are the same as that of max for the primitive floating-point types.

Trait Implementations

impl Debug for f32x4
[src]

Formats the value using the given formatter. Read more

impl Default for f32x4
[src]

Returns the "default value" for a type. Read more

impl Div<f32x4> for f32
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<f32> for f32x4
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Div<f32x4> for f32x4
[src]

The resulting type after applying the / operator.

Performs the / operation.

impl Add<f32x4> for f32x4
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl Add<f32x4> for f32
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl Add<f32> for f32x4
[src]

The resulting type after applying the + operator.

Performs the + operation.

impl RemAssign<f32x4> for f32x4
[src]

Performs the %= operation.

impl RemAssign<f32> for f32x4
[src]

Performs the %= operation.

impl Copy for f32x4
[src]

impl DivAssign<f32> for f32x4
[src]

Performs the /= operation.

impl DivAssign<f32x4> for f32x4
[src]

Performs the /= operation.

impl MulAssign<f32x4> for f32x4
[src]

Performs the *= operation.

impl MulAssign<f32> for f32x4
[src]

Performs the *= operation.

impl SubAssign<f32> for f32x4
[src]

Performs the -= operation.

impl SubAssign<f32x4> for f32x4
[src]

Performs the -= operation.

impl From<f32x4> for i64x4
[src]

Performs the conversion.

impl From<f32x4> for i16x4
[src]

Performs the conversion.

impl From<f32x4> for u8x4
[src]

Performs the conversion.

impl From<i8x4> for f32x4
[src]

Performs the conversion.

impl From<f32x4> for i8x4
[src]

Performs the conversion.

impl From<f32x4> for u16x4
[src]

Performs the conversion.

impl From<m8x4> for f32x4
[src]

Performs the conversion.

impl From<u32x4> for f32x4
[src]

Performs the conversion.

impl From<u16x4> for f32x4
[src]

Performs the conversion.

impl From<f32x4> for f64x4
[src]

Performs the conversion.

impl From<i64x4> for f32x4
[src]

Performs the conversion.

impl From<i32x4> for f32x4
[src]

Performs the conversion.

impl From<u64x4> for f32x4
[src]

Performs the conversion.

impl From<m32x4> for f32x4
[src]

Performs the conversion.

impl From<f32x4> for i32x4
[src]

Performs the conversion.

impl From<i16x4> for f32x4
[src]

Performs the conversion.

impl From<f64x4> for f32x4
[src]

Performs the conversion.

impl From<f32x4> for u32x4
[src]

Performs the conversion.

impl From<m16x4> for f32x4
[src]

Performs the conversion.

impl From<u8x4> for f32x4
[src]

Performs the conversion.

impl From<m64x4> for f32x4
[src]

Performs the conversion.

impl From<f32x4> for u64x4
[src]

Performs the conversion.

impl AddAssign<f32x4> for f32x4
[src]

Performs the += operation.

impl AddAssign<f32> for f32x4
[src]

Performs the += operation.

impl Neg for f32x4
[src]

The resulting type after applying the - operator.

Performs the unary - operation.

impl Sub<f32x4> for f32x4
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<f32> for f32x4
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Sub<f32x4> for f32
[src]

The resulting type after applying the - operator.

Performs the - operation.

impl Clone for f32x4
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialOrd<f32x4> for f32x4
[src]

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

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<f32x4> for f32x4
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Rem<f32> for f32x4
[src]

The resulting type after applying the % operator.

Performs the % operation.

impl Rem<f32x4> for f32x4
[src]

The resulting type after applying the % operator.

Performs the % operation.

impl Rem<f32x4> for f32
[src]

The resulting type after applying the % operator.

Performs the % operation.

impl FromBits<__m128i> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for i16x8
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<m16x8> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<u64x2> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for i8x16
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<i64x2> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<u32x4> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<__m128> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for f64x2
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<i16x8> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for u8x16
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<__m128d> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<u8x16> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<m32x4> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for i64x2
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<m64x2> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<i8x16> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<m8x16> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for u16x8
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<i32x4> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for i32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f64x2> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for u32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<u16x8> for f32x4
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl FromBits<f32x4> for u64x2
[src]

🔬 This is a nightly-only experimental API. (stdsimd #48556)

Safe lossless bitwise from T to Self.

impl Mul<f32> for f32x4
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl Mul<f32x4> for f32
[src]

The resulting type after applying the * operator.

Performs the * operation.

impl Mul<f32x4> for f32x4
[src]

The resulting type after applying the * operator.

Performs the * operation.

Auto Trait Implementations

impl Send for f32x4

impl Sync for f32x4