Vector128<T> Struct

Definition

generic <typename T>
 where T : value classpublic value class Vector128 : IEquatable<System::Runtime::Intrinsics::Vector128<T>>
public readonly struct Vector128<T> : IEquatable<System.Runtime.Intrinsics.Vector128<T>> where T : struct
type Vector128<'T (requires 'T : struct)> = struct
Public Structure Vector128(Of T)
Implements IEquatable(Of Vector128(Of T))

Type Parameters

T
Inheritance
Vector128<T>
Implements

Properties

AllBitsSet

Gets a new Vector128<T> with all bits set to 1.

Count

Gets the number of T that are in a Vector128<T>.

IsSupported
Item[Int32]
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>, 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.

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.

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.

Extension Methods

As<T,U>(Vector128<T>)

Reinterprets a Vector128<T> of type T as a new Vector128<T> of type U.

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.

Applies to