Type Definition packed_simd_2::f64x2[][src]

pub type f64x2 = Simd<[f64; 2]>;
Expand description

A 128-bit vector with 2 f64 lanes.

Implementations

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

Returns the number of vector lanes.

Constructs a new instance with each element initialized to value.

Extracts the value at index.

Panics

If index >= Self::lanes().

Extracts the value at index.

Safety

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

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

Panics

If index >= Self::lanes().

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

Safety

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

Minimum of two vectors.

Returns a new vector containing the minimum value of each of the input vector lanes.

Maximum of two vectors.

Returns a new vector containing the maximum value of each of the input vector lanes.

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

If one of the vector element is NaN the reduction returns NaN. The resulting NaN is not required to be equal to any of the NaNs in the vector.

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

If one of the vector element is NaN the reduction returns NaN. The resulting NaN is not required to be equal to any of the NaNs in the vector.

Largest vector element value.

Smallest vector element value.

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.

Instantiates a new vector with the values of the slice.

Panics

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

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.

Instantiates a new vector with the values of the slice.

Safety

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

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.

Writes the values of the vector to the slice.

Panics

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

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.

Writes the values of the vector to the slice.

Safety

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

Shuffle vector elements according to indices.

Machine epsilon value.

Smallest finite value.

Smallest positive normal value.

Largest finite value.

Not a Number (NaN).

Infinity (∞).

Negative infinity (-∞).

Archimedes’ constant (π)

π/2

π/3

π/4

π/6

π/8

1/π

2/π

2/sqrt(π)

sqrt(2)

1/sqrt(2)

Euler’s number (e)

log2(e)

log10(e)

ln(2)

ln(10)

Absolute value.

Cosine.

Cosine of self * PI.

Returns the exponential function of self: e^(self).

Returns the natural logarithm of self.

Fused multiply add: self * y + z

Fused multiply add estimate: ~= self * y + z

While fused multiply-add (fma) has infinite precision, mul_adde has at worst the same precision of a multiply followed by an add. This might be more efficient on architectures that do not have an fma instruction.

Raises self number to the floating point power of x.

Reciprocal estimate: ~= 1. / self.

FIXME: The precision of the estimate is currently unspecified.

Reciprocal square-root estimate: ~= 1. / self.sqrt().

FIXME: The precision of the estimate is currently unspecified.

Sine.

Sine of self * PI.

Sine and cosine of self * PI.

Square-root estimate.

FIXME: The precision of the estimate is currently unspecified.

Tanh.

Lane-wise equality comparison.

Lane-wise inequality comparison.

Lane-wise less-than comparison.

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

Lane-wise greater-than comparison.

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

Trait Implementations

The resulting type after applying the + operator.

Performs the + operation. Read more

The resulting type after applying the + operator.

Performs the + operation. Read more

Performs the += operation. Read more

Performs the += operation. Read more

Formats the value using the given formatter. Read more

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

The resulting type after applying the / operator.

Performs the / operation. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

Performs the /= operation. Read more

Performs the /= operation. Read more

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

Numeric cast from T to Self.

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

Performs the *= operation. Read more

Performs the *= operation. Read more

The resulting type after applying the - operator.

Performs the unary - operation. Read more

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

This method tests for !=.

Method which takes an iterator and generates Self from the elements by multiplying the items. Read more

Method which takes an iterator and generates Self from the elements by multiplying the items. Read more

The resulting type after applying the % operator.

Performs the % operation. Read more

The resulting type after applying the % operator.

Performs the % operation. Read more

Performs the %= operation. Read more

Performs the %= operation. Read more

Element type of the SIMD vector

The number of elements in the SIMD vector.

The type: [u32; Self::N].

The resulting type after applying the - operator.

Performs the - operation. Read more

The resulting type after applying the - operator.

Performs the - operation. Read more

Performs the -= operation. Read more

Performs the -= operation. Read more

Method which takes an iterator and generates Self from the elements by “summing up” the items. Read more

Method which takes an iterator and generates Self from the elements by “summing up” the items. Read more