Vector64<T> Struct

Definition

Represents a 64-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 Vector64 : IEquatable<System::Runtime::Intrinsics::Vector64<T>>
generic <typename T>
public value class Vector64 : IEquatable<System::Runtime::Intrinsics::Vector64<T>>
public readonly struct Vector64<T> : IEquatable<System.Runtime.Intrinsics.Vector64<T>> where T : struct
public readonly struct Vector64<T> : IEquatable<System.Runtime.Intrinsics.Vector64<T>>
type Vector64<'T (requires 'T : struct)> = struct
type Vector64<'T> = struct
Public Structure Vector64(Of T)
Implements IEquatable(Of Vector64(Of T))

Type Parameters

T

The type of the elements in the vector.

Inheritance
Vector64<T>
Implements

Properties

AllBitsSet

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

Count

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

Indices
IsSupported

Gets a value that indicates whether T is supported.

Item[Int32]

Gets the element at the specified index.

One

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

Zero

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

Methods

Equals(Object)

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

Equals(Vector64<T>)

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

Adds two vectors to compute their sum.

BitwiseAnd(Vector64<T>, Vector64<T>)

Computes the bitwise-and of two vectors.

BitwiseOr(Vector64<T>, Vector64<T>)

Computes the bitwise-or of two vectors.

Division(Vector64<T>, T)

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

Division(Vector64<T>, Vector64<T>)

Divides two vectors to compute their quotient.

Equality(Vector64<T>, Vector64<T>)

Compares two vectors to determine if all elements are equal.

ExclusiveOr(Vector64<T>, Vector64<T>)

Computes the exclusive-or of two vectors.

Inequality(Vector64<T>, Vector64<T>)

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

LeftShift(Vector64<T>, Int32)

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

Multiply(T, Vector64<T>)

Multiplies a vector by a scalar to compute their product.

Multiply(Vector64<T>, T)

Multiplies a vector by a scalar to compute their product.

Multiply(Vector64<T>, Vector64<T>)

Multiplies two vectors to compute their element-wise product.

OnesComplement(Vector64<T>)

Computes the ones-complement of a vector.

RightShift(Vector64<T>, Int32)

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

Subtraction(Vector64<T>, Vector64<T>)

Subtracts two vectors to compute their difference.

UnaryNegation(Vector64<T>)

Computes the unary negation of a vector.

UnaryPlus(Vector64<T>)

Returns a given vector unchanged.

UnsignedRightShift(Vector64<T>, Int32)

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

Extension Methods

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

Reinterprets a Vector64<T> of type TFrom as a new Vector64<T> of type TTo.

AsByte<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type Byte.

AsDouble<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type Double.

AsInt16<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type Int16.

AsInt32<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type Int32.

AsInt64<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type Int64.

AsNInt<T>(Vector64<T>)

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

AsNUInt<T>(Vector64<T>)

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

AsSByte<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type SByte.

AsSingle<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type Single.

AsUInt16<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type UInt16.

AsUInt32<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type UInt32.

AsUInt64<T>(Vector64<T>)

Reinterprets a Vector64<T> as a new Vector64 of type UInt64.

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

Copies a Vector64<T> to a given array.

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

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

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

Copies a Vector64<T> to a given span.

ExtractMostSignificantBits<T>(Vector64<T>)

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

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

Gets the element at the specified index.

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

Stores a vector at the given destination.

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

Stores a vector at the given aligned destination.

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

Stores a vector at the given aligned destination.

StoreUnsafe<T>(Vector64<T>, T)

Stores a vector at the given destination.

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

Stores a vector at the given destination.

ToScalar<T>(Vector64<T>)

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

ToVector128<T>(Vector64<T>)

Converts the given vector to a new Vector128<T> with the lower 64-bits set to the value of the given vector and the upper 64-bits initialized to zero.

ToVector128Unsafe<T>(Vector64<T>)

Converts the given vector to a new Vector128<T> with the lower 64-bits set to the value of the given vector and the upper 64-bits left uninitialized.

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

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

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

Creates a new Vector64<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.

Applies to