Struct Vec8
Source #[repr(C, align(32))]
pub struct Vec8(pub [f32; 8]);
Expand description
An 8-lane SIMD vector of f32 values, backed by AVX2 256-bit registers.
Creates a vector with all lanes set to val.
Computes fused multiply-add: self * a + b per lane.
Sums all lanes, returning a scalar.
Computes the dot product of two vectors, returning a scalar.
Returns the absolute value of each lane.
Returns the square root of each lane.
Returns the floor (round toward negative infinity) of each lane.
Returns the ceil (round toward positive infinity) of each lane.
Returns the nearest integer (round half away from zero) of each lane.
Computes the sine of each lane (radians). SLEEF u10 precision (< 1 ULP).
Computes the cosine of each lane (radians). SLEEF u10 precision (< 1 ULP).
Computes e^x for each lane. SLEEF precision.
Source§Adds a scalar to each lane of the vector (f32 + Vec8).
The resulting type after applying the + operator.
Source§Adds a scalar to each lane of the vector.
The resulting type after applying the + operator.
Source§Element-wise addition of two vectors.
The resulting type after applying the + operator.
Performs copy-assignment from
source.
Read moreSource§Formats the vector as Vec8([a, b, c, d, e, f, g, h]) for debug output.
Formats the value using the given formatter.
Read moreSource§Divides a scalar by each lane of the vector (f32 / Vec8).
The resulting type after applying the / operator.
Source§Divides each lane of the vector by a scalar.
The resulting type after applying the / operator.
Source§Element-wise division of two vectors.
The resulting type after applying the / operator.
Source§Creates a Vec8 from a [f32; 8] array.
Converts to this type from the input type.
Source§Extracts the inner [f32; 8] array from a Vec8.
Converts to this type from the input type.
Source§Indexes into the vector to retrieve a single f32 lane.
The returned type after indexing.
Performs the indexing (
container[index]) operation.
Read moreSource§Multiplies a scalar by each lane of the vector (f32 * Vec8).
The resulting type after applying the * operator.
Source§Multiplies each lane of the vector by a scalar.
The resulting type after applying the * operator.
Source§Element-wise multiplication of two vectors.
The resulting type after applying the * operator.
Source§Negates each lane of the vector.
The resulting type after applying the - operator.
Source§Compares two vectors for exact element-wise equality.
Tests for self and other values to be equal, and is used by ==.
Tests for !=. The default implementation is almost always sufficient,
and should not be overridden without very good reason.
Source§Subtracts each lane of the vector from a scalar (f32 - Vec8).
The resulting type after applying the - operator.
Source§Subtracts a scalar from each lane of the vector.
The resulting type after applying the - operator.
Source§Element-wise subtraction of two vectors.
The resulting type after applying the - operator.
Source§Sums an iterator of Vec8 values element-wise, starting from zero.
Takes an iterator and generates Self from the elements by “summing up”
the items.
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from
self to
dest.
Read more
Returns the argument unchanged.
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning.
Read more
Uses borrowed data to replace owned data, usually by cloning.
Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.