Vector128<T> Struct
Definition
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.
Represents a 128-bit vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
generic <typename T>
where T : value classpublic value class Vector128 : IEquatable<System::Runtime::Intrinsics::Vector128<T>>
generic <typename T>
public value class Vector128 : IEquatable<System::Runtime::Intrinsics::Vector128<T>>
public readonly struct Vector128<T> : IEquatable<System.Runtime.Intrinsics.Vector128<T>> where T : struct
public readonly struct Vector128<T> : IEquatable<System.Runtime.Intrinsics.Vector128<T>>
type Vector128<'T (requires 'T : struct)> = struct
type Vector128<'T> = struct
Public Structure Vector128(Of T)
Implements IEquatable(Of Vector128(Of T))
Type Parameters
- T
The type of the elements in the vector.
- Inheritance
- Implements
-
IEquatable<Vector128<T>>
Properties
AllBitsSet |
Gets a new Vector128<T> with all bits set to 1. |
Count |
Gets the number of |
Indices |
Gets a new Vector128<T> with the elements set to their index. |
IsSupported |
Gets a value that indicates whether |
Item[Int32] |
Gets the element at the specified index. |
One |
Gets a new Vector128<T> with all elements initialized to one. |
Zero |
Gets a new Vector128<T> with all elements initialized to zero. |
Methods
Equals(Object) |
Determines whether the specified object is equal to the current instance. |
Equals(Vector128<T>) |
Determines whether the specified Vector128<T> is equal to the current instance. |
GetHashCode() |
Gets the hash code for the instance. |
ToString() |
Converts the current instance to an equivalent string representation. |
Operators
Addition(Vector128<T>, Vector128<T>) |
Adds two vectors to compute their sum. |
BitwiseAnd(Vector128<T>, Vector128<T>) |
Computes the bitwise-and of two vectors. |
BitwiseOr(Vector128<T>, Vector128<T>) |
Computes the bitwise-or of two vectors. |
Division(Vector128<T>, T) |
Divides a vector by a scalar to compute the per-element quotient. |
Division(Vector128<T>, Vector128<T>) |
Divides two vectors to compute their quotient. |
Equality(Vector128<T>, Vector128<T>) |
Compares two vectors to determine if all elements are equal. |
ExclusiveOr(Vector128<T>, Vector128<T>) |
Computes the exclusive-or of two vectors. |
Inequality(Vector128<T>, Vector128<T>) |
Compares two vectors to determine if any elements are not equal. |
LeftShift(Vector128<T>, Int32) |
Shifts each element of a vector left by the specified amount. |
Multiply(T, Vector128<T>) |
Multiplies a vector by a scalar to compute their product. |
Multiply(Vector128<T>, T) |
Multiplies a vector by a scalar to compute their product. |
Multiply(Vector128<T>, Vector128<T>) |
Multiplies two vectors to compute their element-wise product. |
OnesComplement(Vector128<T>) |
Computes the ones-complement of a vector. |
RightShift(Vector128<T>, Int32) |
Shifts (signed) each element of a vector right by the specified amount. |
Subtraction(Vector128<T>, Vector128<T>) |
Subtracts two vectors to compute their difference. |
UnaryNegation(Vector128<T>) |
Computes the unary negation of a vector. |
UnaryPlus(Vector128<T>) |
Returns a given vector unchanged. |
UnsignedRightShift(Vector128<T>, Int32) |
Shifts (unsigned) each element of a vector right by the specified amount. |
Extension Methods
As<T,U>(Vector128<T>) |
Reinterprets a Vector128<T> of type |
AsByte<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type Byte. |
AsDouble<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type Double. |
AsInt16<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type Int16. |
AsInt32<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type Int32. |
AsInt64<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type Int64. |
AsNInt<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128<T>. |
AsNUInt<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128<T>. |
AsSByte<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type SByte. |
AsSingle<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type Single. |
AsUInt16<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type UInt16. |
AsUInt32<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type UInt32. |
AsUInt64<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector128 of type UInt64. |
AsVector<T>(Vector128<T>) |
Reinterprets a Vector128<T> as a new Vector<T>. |
CopyTo<T>(Vector128<T>, T[]) |
Copies a Vector128<T> to a given array. |
CopyTo<T>(Vector128<T>, T[], Int32) |
Copies a Vector128<T> to a given array starting at the specified index. |
CopyTo<T>(Vector128<T>, Span<T>) |
Copies a Vector128<T> to a given span. |
ExtractMostSignificantBits<T>(Vector128<T>) |
Extracts the most significant bit from each element in a vector. |
GetElement<T>(Vector128<T>, Int32) |
Gets the element at the specified index. |
GetLower<T>(Vector128<T>) |
Gets the value of the lower 64-bits as a new Vector64<T>. |
GetUpper<T>(Vector128<T>) |
Gets the value of the upper 64-bits as a new Vector64<T>. |
Store<T>(Vector128<T>, T*) |
Stores a vector at the given destination. |
StoreAligned<T>(Vector128<T>, T*) |
Stores a vector at the given aligned destination. |
StoreAlignedNonTemporal<T>(Vector128<T>, T*) |
Stores a vector at the given aligned destination. |
StoreUnsafe<T>(Vector128<T>, T) |
Stores a vector at the given destination. |
StoreUnsafe<T>(Vector128<T>, T, UIntPtr) |
Stores a vector at the given destination. |
ToScalar<T>(Vector128<T>) |
Converts the given vector to a scalar containing the value of the first element. |
ToVector256<T>(Vector128<T>) |
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. |
ToVector256Unsafe<T>(Vector128<T>) |
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. |
TryCopyTo<T>(Vector128<T>, Span<T>) |
Tries to copy a Vector<T> to a given span. |
WithElement<T>(Vector128<T>, Int32, T) |
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. |
WithLower<T>(Vector128<T>, Vector64<T>) |
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. |
WithUpper<T>(Vector128<T>, Vector64<T>) |
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. |