Vector128 Class
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides a collection of static methods for creating, manipulating, and otherwise operating on 128-bit vectors.
public ref class Vector128 abstract sealed
public static class Vector128
type Vector128 = class
Public Module Vector128
- Inheritance
-
Vector128
Is |
Gets a value that indicates whether 128-bit vector operations are subject to hardware acceleration through JIT intrinsic support. |
Abs<T>(Vector128<T>) |
Computes the absolute value of each element in a vector. |
Add<T>(Vector128<T>, Vector128<T>) |
Adds two vectors to compute their sum. |
And |
Computes the bitwise-and of a given vector and the ones complement of another vector. |
As<T,U>(Vector128<T>) |
Reinterprets a Vector128<T> of type |
As |
Reinterprets a Vector128<T> as a new Vector128 of type Byte. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type Double. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type Int16. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type Int32. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type Int64. |
As |
Reinterprets a Vector128<T> as a new Vector128<T>. |
As |
Reinterprets a Vector128<T> as a new Vector128<T>. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type SByte. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type Single. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type UInt16. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type UInt32. |
As |
Reinterprets a Vector128<T> as a new Vector128 of type UInt64. |
As |
Reinterprets a Vector128<T> as a new Vector<T>. |
As |
Reinterprets a Vector2 as a new Vector128<T>. |
As |
Reinterprets a Vector3 as a new Vector128<T>. |
As |
Reinterprets a Vector4 as a new Vector128<T>. |
As |
Reinterprets a Vector<T> as a new Vector128<T>. |
As |
Reinterprets a |
As |
Reinterprets a |
As |
Reinterprets a Vector128<T> as a new Vector2. |
As |
Reinterprets a Vector128<T> as a new Vector3. |
As |
Reinterprets a Vector128<T> as a new Vector4. |
Bitwise |
Computes the bitwise-and of two vectors. |
Bitwise |
Computes the bitwise-or of two vectors. |
Ceiling(Vector128<Double>) |
Computes the ceiling of each element in a vector. |
Ceiling(Vector128<Single>) |
Computes the ceiling of each element in a vector. |
Clamp<T>(Vector128<T>, Vector128<T>, Vector128<T>) |
Restricts a vector between a minimum and a maximum value. |
Clamp |
Restricts a vector between a minimum and a maximum value using platform specific behavior for |
Conditional |
Conditionally selects a value from two vectors on a bitwise basis. |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a |
Convert |
Converts a Vector128<T> to a Vector128<T>. |
Convert |
Converts a |
Copy |
Copies the per-element sign of a vector to the per-element sign of another vector. |
Copy |
Copies a Vector128<T> to a given span. |
Copy |
Copies a Vector128<T> to a given array starting at the specified index. |
Copy |
Copies a Vector128<T> to a given array. |
Cos(Vector128<Double>) |
Computes the cos of each element in a vector. |
Cos(Vector128<Single>) |
Computes the cos of each element in a vector. |
Create(Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(Byte) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(Double, Double) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(Double) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(Int16) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(Int32, Int32, Int32, Int32) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(Int32) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(Int64, Int64) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(Int64) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(Int |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(SByte) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(Single, Single, Single, Single) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(Single) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(UInt16) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(UInt32, UInt32, UInt32, UInt32) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(UInt32) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(UInt64, UInt64) |
Creates a new Vector128<T> instance with each element initialized to the corresponding specified value. |
Create(UInt64) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(UInt |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create(Vector64<Byte>, Vector64<Byte>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<Double>, Vector64<Double>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<Int16>, Vector64<Int16>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<Int32>, Vector64<Int32>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<Int64>, Vector64<Int64>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<Int |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<SByte>, Vector64<SByte>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<Single>, Vector64<Single>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<UInt16>, Vector64<UInt16>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<UInt32>, Vector64<UInt32>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<UInt64>, Vector64<UInt64>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create(Vector64<UInt |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create<T>(Read |
Creates a new Vector128<T> from a given readonly span. |
Create<T>(T) |
Creates a new Vector128<T> instance with all elements initialized to the specified value. |
Create<T>(T[], Int32) |
Creates a new Vector128<T> from a given array. |
Create<T>(T[]) |
Creates a new Vector128<T> from a given array. |
Create<T>(Vector64<T>, Vector64<T>) |
Creates a new Vector128<T> instance from two Vector64<T> instances. |
Create<T>(Vector64<T>) |
Creates a new Vector128<T> instance with the lower and upper 64-bits initialized to a specified value. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized. |
Create |
Creates a new Vector128<T> instance where the elements begin at a specified value and which are spaced apart according to another specified value. |
Degrees |
Converts a given vector from degrees to radians. |
Degrees |
Converts a given vector from degrees to radians. |
Divide<T>(Vector128<T>, T) |
Divides a vector by a scalar to compute the per-element quotient. |
Divide<T>(Vector128<T>, Vector128<T>) |
Divides two vectors to compute their quotient. |
Dot<T>(Vector128<T>, Vector128<T>) |
Computes the dot product of two vectors. |
Equals<T>(Vector128<T>, Vector128<T>) |
Compares two vectors to determine if they are equal on a per-element basis. |
Equals |
Compares two vectors to determine if all elements are equal. |
Equals |
Compares two vectors to determine if any elements are equal. |
Exp(Vector128<Double>) |
Computes the exp of each element in a vector. |
Exp(Vector128<Single>) |
Computes the exp of each element in a vector. |
Extract |
Extracts the most significant bit from each element in a vector. |
Floor(Vector128<Double>) |
Computes the floor of each element in a vector. |
Floor(Vector128<Single>) |
Computes the floor of each element in a vector. |
Fused |
Computes ( |
Fused |
Computes ( |
Get |
Gets the element at the specified index. |
Get |
Gets the value of the lower 64-bits as a new Vector64<T>. |
Get |
Gets the value of the upper 64-bits as a new Vector64<T>. |
Greater |
Compares two vectors to determine which is greater on a per-element basis. |
Greater |
Compares two vectors to determine if all elements are greater. |
Greater |
Compares two vectors to determine if any elements are greater. |
Greater |
Compares two vectors to determine which is greater or equal on a per-element basis. |
Greater |
Compares two vectors to determine if all elements are greater or equal. |
Greater |
Compares two vectors to determine if any elements are greater or equal. |
Hypot(Vector128<Double>, Vector128<Double>) |
Computes the hypotenuse given two vectors representing the lengths of the shorter sides in a right-angled triangle. |
Hypot(Vector128<Single>, Vector128<Single>) |
Computes the hypotenuse given two vectors representing the lengths of the shorter sides in a right-angled triangle. |
Is |
Determines which elements in a vector are NaN. |
Is |
Determines which elements in a vector represents negative real numbers. |
Is |
Determines which elements in a vector represents positive real numbers. |
Is |
Determines which elements in a vector are positive infinity. |
Is |
Determines which elements in a vector are zero. |
Lerp(Vector128<Double>, Vector128<Double>, Vector128<Double>) |
Performs a linear interpolation between two vectors based on the given weighting. |
Lerp(Vector128<Single>, Vector128<Single>, Vector128<Single>) |
Performs a linear interpolation between two vectors based on the given weighting. |
Less |
Compares two vectors to determine which is less on a per-element basis. |
Less |
Compares two vectors to determine if all elements are less. |
Less |
Compares two vectors to determine if any elements are less. |
Less |
Compares two vectors to determine which is less or equal on a per-element basis. |
Less |
Compares two vectors to determine if all elements are less or equal. |
Less |
Compares two vectors to determine if any elements are less or equal. |
Load<T>(T*) |
Loads a vector from the given source. |
Load |
Loads a vector from the given aligned source. |
Load |
Loads a vector from the given aligned source. |
Load |
Loads a vector from the given source and element offset. |
Load |
Loads a vector from the given source. |
Log(Vector128<Double>) |
Computes the log of each element in a vector. |
Log(Vector128<Single>) |
Computes the log of each element in a vector. |
Log2(Vector128<Double>) |
Computes the log2 of each element in a vector. |
Log2(Vector128<Single>) |
Computes the log2 of each element in a vector. |
Max<T>(Vector128<T>, Vector128<T>) |
Computes the maximum of two vectors on a per-element basis. |
Max |
Compares two vectors to compute which has the greater magnitude on a per-element basis. |
Max |
Compares two vectors, on a per-element basis, to compute which has the greater magnitude and returning the other value if an input is |
Max |
Compare two vectors to determine which is greater on a per-element basis using platform specific behavior for |
Max |
Compares two vectors, on a per-element basis, to compute which is greater and returning the other value if an element is |
Min<T>(Vector128<T>, Vector128<T>) |
Computes the minimum of two vectors on a per-element basis. |
Min |
Compares two vectors to compute which has the lesser magnitude on a per-element basis. |
Min |
Compares two vectors, on a per-element basis, to compute which has the lesser magnitude and returning the other value if an input is |
Min |
Compare two vectors to determine which is lesser on a per-element basis using platform specific behavior for |
Min |
Compares two vectors, on a per-element basis, to compute which is lesser and returning the other value if an element is |
Multiply<T>(T, Vector128<T>) |
Multiplies a vector by a scalar to compute their product. |
Multiply<T>(Vector128<T>, T) |
Multiplies a vector by a scalar to compute their product. |
Multiply<T>(Vector128<T>, Vector128<T>) |
Multiplies two vectors to compute their element-wise product. |
Multiply |
Computes an estimate of ( |
Multiply |
Computes an estimate of ( |
Narrow(Vector128<Double>, Vector128<Double>) |
Narrows two Vector128<T> instances into one Vector128<T>. |
Narrow(Vector128<Int16>, Vector128<Int16>) |
Narrows two Vector128<T> instances into one Vector128<T>. |
Narrow(Vector128<Int32>, Vector128<Int32>) |
Narrows two Vector128<T> instances into one Vector128<T>. |
Narrow(Vector128<Int64>, Vector128<Int64>) |
Narrows two Vector128<T> instances into one Vector128<T>. |
Narrow(Vector128<UInt16>, Vector128<UInt16>) |
Narrows two Vector128<T> instances into one Vector128<T>. |
Narrow(Vector128<UInt32>, Vector128<UInt32>) |
Narrows two Vector128<T> instances into one Vector128<T>. |
Narrow(Vector128<UInt64>, Vector128<UInt64>) |
Narrows two Vector128<T> instances into one Vector128<T>. |
Negate<T>(Vector128<T>) |
Negates a vector. |
Ones |
Computes the ones-complement of a vector. |
Radians |
Converts a given vector from radians to degrees. |
Radians |
Converts a given vector from radians to degrees. |
Round(Vector128<Double>, Midpoint |
Rounds each element in a vector to the nearest integer using the specified rounding mode. |
Round(Vector128<Double>) | |
Round(Vector128<Single>, Midpoint |
Rounds each element in a vector to the nearest integer using the specified rounding mode. |
Round(Vector128<Single>) | |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts each element of a vector left by the specified amount. |
Shift |
Shifts (signed) each element of a vector right by the specified amount. |
Shift |
Shifts (signed) each element of a vector right by the specified amount. |
Shift |
Shifts (signed) each element of a vector right by the specified amount. |
Shift |
Shifts (signed) each element of a vector right by the specified amount. |
Shift |
Shifts (signed) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shift |
Shifts (unsigned) each element of a vector right by the specified amount. |
Shuffle(Vector128<Byte>, Vector128<Byte>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<Double>, Vector128<Int64>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<Int16>, Vector128<Int16>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<Int32>, Vector128<Int32>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<Int64>, Vector128<Int64>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<SByte>, Vector128<SByte>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<Single>, Vector128<Int32>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<UInt16>, Vector128<UInt16>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<UInt32>, Vector128<UInt32>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Shuffle(Vector128<UInt64>, Vector128<UInt64>) |
Creates a new vector by selecting values from an input vector using a set of indices. |
Sin(Vector128<Double>) |
Computes the sin of each element in a vector. |
Sin(Vector128<Single>) |
Computes the sin of each element in a vector. |
Sin |
Computes the cos of each element in a vector. |
Sin |
Computes the cos of each element in a vector. |
Sqrt<T>(Vector128<T>) |
Computes the square root of a vector on a per-element basis. |
Store<T>(Vector128<T>, T*) |
Stores a vector at the given destination. |
Store |
Stores a vector at the given aligned destination. |
Store |
Stores a vector at the given aligned destination. |
Store |
Stores a vector at the given destination. |
Store |
Stores a vector at the given destination. |
Subtract<T>(Vector128<T>, Vector128<T>) |
Subtracts two vectors to compute their difference. |
Sum<T>(Vector128<T>) |
Computes the sum of all elements in a vector. |
To |
Converts the given vector to a scalar containing the value of the first element. |
To |
Converts the given vector to a new Vector256<T> with the lower 128-bits set to the value of the given vector and the upper 128-bits initialized to zero. |
To |
Converts the given vector to a new Vector256<T> with the lower 128-bits set to the value of the given vector and the upper 128-bits left uninitialized. |
Truncate(Vector128<Double>) | |
Truncate(Vector128<Single>) | |
Try |
Tries to copy a Vector<T> to a given span. |
Widen(Vector128<Byte>) |
Widens a Vector128<T> into two Vector128<T>. |
Widen(Vector128<Int16>) |
Widens a Vector128<T> into two Vector128<T>. |
Widen(Vector128<Int32>) |
Widens a Vector128<T> into two Vector128<T>. |
Widen(Vector128<SByte>) |
Widens a Vector128<T> into two Vector128<T>. |
Widen(Vector128<Single>) |
Widens a Vector128<T> into two Vector128<T>. |
Widen(Vector128<UInt16>) |
Widens a Vector128<T> into two Vector128<T>. |
Widen(Vector128<UInt32>) |
Widens a Vector128<T> into two Vector128<T>. |
Widen |
Widens the lower half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the lower half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the lower half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the lower half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the lower half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the lower half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the lower half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the upper half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the upper half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the upper half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the upper half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the upper half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the upper half of a Vector128<T> into a Vector128<T>. |
Widen |
Widens the upper half of a Vector128<T> into a Vector128<T>. |
With |
Creates a new Vector128<T> with the element at the specified index set to the specified value and the remaining elements set to the same value as that in the given vector. |
With |
Creates a new Vector128<T> with the lower 64-bits set to the specified value and the upper 64-bits set to the same value as that in the given vector. |
With |
Creates a new Vector128<T> with the upper 64-bits set to the specified value and the lower 64-bits set to the same value as that in the given vector. |
Xor<T>(Vector128<T>, Vector128<T>) |
Computes the exclusive-or of two vectors. |
Product | Versions |
---|---|
.NET | Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET feedback
.NET is an open source project. Select a link to provide feedback: