Vector512<T> Struct

Definition

Represents a 512-bit vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.

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

Type Parameters

T

The type of the elements in the vector.

Inheritance
Vector512<T>
Implements

Properties

AllBitsSet

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

Count

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

Indices
IsSupported

Gets true if T is supported; otherwise, false.

Item[Int32]

Gets the element at the specified index.

One

Gets a new Vector512<T> with all elements initialized to one.

Zero

Gets a new Vector512<T> with all elements initialized to zero.

Methods

Equals(Object)

Determines whether the specified object is equal to the current instance.

Equals(Vector512<T>)

Determines whether the specified Vector512<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(Vector512<T>, Vector512<T>)

Adds two vectors to compute their sum.

BitwiseAnd(Vector512<T>, Vector512<T>)

Computes the bitwise-and of two vectors.

BitwiseOr(Vector512<T>, Vector512<T>)

Computes the bitwise-or of two vectors.

Division(Vector512<T>, T)

Divides a vector by a scalar to compute the per-element quotient.

Division(Vector512<T>, Vector512<T>)

Divides two vectors to compute their quotient.

Equality(Vector512<T>, Vector512<T>)

Compares two vectors to determine if all elements are equal.

ExclusiveOr(Vector512<T>, Vector512<T>)

Computes the exclusive-or of two vectors.

Inequality(Vector512<T>, Vector512<T>)

Compares two vectors to determine if any elements are not equal.

LeftShift(Vector512<T>, Int32)

Shifts each element of a vector left by the specified amount.

Multiply(T, Vector512<T>)

Multiplies a vector by a scalar to compute their product.

Multiply(Vector512<T>, T)

Multiplies a vector by a scalar to compute their product.

Multiply(Vector512<T>, Vector512<T>)

Multiplies two vectors to compute their element-wise product.

OnesComplement(Vector512<T>)

Computes the ones-complement of a vector.

RightShift(Vector512<T>, Int32)

Shifts (signed) each element of a vector right by the specified amount.

Subtraction(Vector512<T>, Vector512<T>)

Subtracts two vectors to compute their difference.

UnaryNegation(Vector512<T>)

Computes the unary negation of a vector.

UnaryPlus(Vector512<T>)

Returns a given vector unchanged.

UnsignedRightShift(Vector512<T>, Int32)

Shifts (unsigned) each element of a vector right by the specified amount.

Extension Methods

As<TFrom,TTo>(Vector512<TFrom>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsByte<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsDouble<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsInt16<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsInt32<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsInt64<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsNInt<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsNUInt<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsSByte<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsSingle<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsUInt16<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsUInt32<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsUInt64<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector512<T>.

AsVector<T>(Vector512<T>)

Reinterprets a Vector512<T> as a new Vector<T>.

CopyTo<T>(Vector512<T>, T[])

Copies a Vector512<T> to a given array.

CopyTo<T>(Vector512<T>, T[], Int32)

Copies a Vector512<T> to a given array starting at the specified index.

CopyTo<T>(Vector512<T>, Span<T>)

Copies a Vector512<T> to a given span.

ExtractMostSignificantBits<T>(Vector512<T>)

Extracts the most significant bit from each element in a vector.

GetElement<T>(Vector512<T>, Int32)

Gets the element at the specified index.

GetLower<T>(Vector512<T>)

Gets the value of the lower 256-bits as a new Vector256<T>.

GetUpper<T>(Vector512<T>)

Gets the value of the upper 256-bits as a new Vector256<T>.

Store<T>(Vector512<T>, T*)

Stores a vector at the given destination.

StoreAligned<T>(Vector512<T>, T*)

Stores a vector at the given aligned destination.

StoreAlignedNonTemporal<T>(Vector512<T>, T*)

Stores a vector at the given aligned destination.

StoreUnsafe<T>(Vector512<T>, T)

Stores a vector at the given destination.

StoreUnsafe<T>(Vector512<T>, T, UIntPtr)

Stores a vector at the given destination.

ToScalar<T>(Vector512<T>)

Converts the given vector to a scalar containing the value of the first element.

TryCopyTo<T>(Vector512<T>, Span<T>)

Tries to copy a Vector<T> to a given span.

WithElement<T>(Vector512<T>, Int32, T)

Creates a new Vector512<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>(Vector512<T>, Vector256<T>)

Creates a new Vector512<T> with the lower 256-bits set to the specified value and the upper 256-bits set to the same value as that in the given vector.

WithUpper<T>(Vector512<T>, Vector256<T>)

Creates a new Vector512<T> with the upper 256-bits set to the specified value and the lower 256-bits set to the same value as that in the given vector.

Applies to