Vector64 Class

Definition

public ref class Vector64 abstract sealed
public static class Vector64
type Vector64 = class
Public Module Vector64
Inheritance
Vector64

Properties

IsHardwareAccelerated

Gets a value that indicates whether 64-bit vector operations are subject to hardware acceleration through JIT intrinsic support.

Methods

Abs<T>(Vector64<T>)

Computes the absolute value of each element in a vector.

Add<T>(Vector64<T>, Vector64<T>)

Adds two vectors to compute their sum.

AndNot<T>(Vector64<T>, Vector64<T>)

Computes the bitwise-and of a given vector and the ones complement of another vector.

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

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

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.

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

Computes the bitwise-and of two vectors.

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

Computes the bitwise-or of two vectors.

Ceiling(Vector64<Double>)

Computes the ceiling of each element in a vector.

Ceiling(Vector64<Single>)

Computes the ceiling of each element in a vector.

ConditionalSelect<T>(Vector64<T>, Vector64<T>, Vector64<T>)

Conditionally selects a value from two vectors on a bitwise basis.

ConvertToDouble(Vector64<Int64>)

Converts a Vector64<T> to a Vector64<T>.

ConvertToDouble(Vector64<UInt64>)

Converts a Vector64<T> to a Vector64<T>.

ConvertToInt32(Vector64<Single>)

Converts a Vector64<T> to a Vector64<T>.

ConvertToInt64(Vector64<Double>)

Converts a Vector64<T> to a Vector64<T>.

ConvertToSingle(Vector64<Int32>)

Converts a Vector64<T> to a Vector64<T>.

ConvertToSingle(Vector64<UInt32>)

Converts a Vector64<T> to a Vector64<T>.

ConvertToUInt32(Vector64<Single>)

Converts a Vector64<T> to a Vector64<T>.

ConvertToUInt64(Vector64<Double>)

Converts a Vector64<T> to a Vector64<T>.

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

Copies a Vector64<T> to a given span.

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.

Create(Byte)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

Creates a new Vector64<T> instance with each element initialized to the corresponding specified value.

Create(Double)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(Int16)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(Int16, Int16, Int16, Int16)

Creates a new Vector64<T> instance with each element initialized to the corresponding specified value.

Create(Int32)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(Int32, Int32)

Creates a new Vector64<T> instance with each element initialized to the corresponding specified value.

Create(Int64)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(IntPtr)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(SByte)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(SByte, SByte, SByte, SByte, SByte, SByte, SByte, SByte)

Creates a new Vector64<T> instance with each element initialized to the corresponding specified value.

Create(Single)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(Single, Single)

Creates a new Vector64<T> instance with each element initialized to the corresponding specified value.

Create(UInt16)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(UInt16, UInt16, UInt16, UInt16)

Creates a new Vector64<T> instance with each element initialized to the corresponding specified value.

Create(UInt32)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(UInt32, UInt32)

Creates a new Vector64<T> instance with each element initialized to the corresponding specified value.

Create(UInt64)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create(UIntPtr)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create<T>(ReadOnlySpan<T>)

Creates a new Vector64<T> from a given readonly span.

Create<T>(T)

Creates a new Vector64<T> instance with all elements initialized to the specified value.

Create<T>(T[])

Creates a new Vector64<T> from a given array.

Create<T>(T[], Int32)

Creates a new Vector64<T> from a given array.

CreateScalar(Byte)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(Double)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(Int16)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(Int32)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(Int64)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(IntPtr)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(SByte)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(Single)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(UInt16)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(UInt32)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(UInt64)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalar(UIntPtr)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements initialized to zero.

CreateScalarUnsafe(Byte)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(Int16)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(Int32)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(IntPtr)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(SByte)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(Single)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(UInt16)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(UInt32)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

CreateScalarUnsafe(UIntPtr)

Creates a new Vector64<T> instance with the first element initialized to the specified value and the remaining elements left uninitialized.

Divide<T>(Vector64<T>, Vector64<T>)

Divides two vectors to compute their quotient.

Dot<T>(Vector64<T>, Vector64<T>)

Computes the dot product of two vectors.

Equals<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if they are equal on a per-element basis.

EqualsAll<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if all elements are equal.

EqualsAny<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if any elements are equal.

ExtractMostSignificantBits<T>(Vector64<T>)

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

Floor(Vector64<Double>)

Computes the floor of each element in a vector.

Floor(Vector64<Single>)

Computes the floor of each element in a vector.

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

Gets the element at the specified index.

GreaterThan<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine which is greater on a per-element basis.

GreaterThanAll<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if all elements are greater.

GreaterThanAny<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if any elements are greater.

GreaterThanOrEqual<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine which is greater or equal on a per-element basis.

GreaterThanOrEqualAll<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if all elements are greater or equal.

GreaterThanOrEqualAny<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if any elements are greater or equal.

LessThan<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine which is less on a per-element basis.

LessThanAll<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if all elements are less.

LessThanAny<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if any elements are less.

LessThanOrEqual<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine which is less or equal on a per-element basis.

LessThanOrEqualAll<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if all elements are less or equal.

LessThanOrEqualAny<T>(Vector64<T>, Vector64<T>)

Compares two vectors to determine if any elements are less or equal.

Load<T>(T*)

Loads a vector from the given source.

LoadAligned<T>(T*)

Loads a vector from the given aligned source.

LoadAlignedNonTemporal<T>(T*)

Loads a vector from the given aligned source.

LoadUnsafe<T>(T)

Loads a vector from the given source.

LoadUnsafe<T>(T, UIntPtr)

Loads a vector from the given source and element offset.

Max<T>(Vector64<T>, Vector64<T>)

Computes the maximum of two vectors on a per-element basis.

Min<T>(Vector64<T>, Vector64<T>)

Computes the minimum of two vectors on a per-element basis.

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

Multiplies a vector by a scalar to compute their product.

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

Multiplies a vector by a scalar to compute their product.

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

Multiplies two vectors to compute their element-wise product.

Narrow(Vector64<Double>, Vector64<Double>)

Narrows two Vector64<T> instances into one Vector64<T>.

Narrow(Vector64<Int16>, Vector64<Int16>)

Narrows two Vector64<T> instances into one Vector64<T>.

Narrow(Vector64<Int32>, Vector64<Int32>)

Narrows two Vector64<T> instances into one Vector64<T>.

Narrow(Vector64<Int64>, Vector64<Int64>)

Narrows two Vector64<T> instances into one Vector64<T>.

Narrow(Vector64<UInt16>, Vector64<UInt16>)

Narrows two Vector64<T> instances into one Vector64<T>.

Narrow(Vector64<UInt32>, Vector64<UInt32>)

Narrows two Vector64<T> instances into one Vector64<T>.

Narrow(Vector64<UInt64>, Vector64<UInt64>)

Narrows two Vector64<T> instances into one Vector64<T>.

Negate<T>(Vector64<T>)

Negates a vector.

OnesComplement<T>(Vector64<T>)

Computes the ones-complement of a vector.

ShiftLeft(Vector64<Byte>, Int32)

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

ShiftLeft(Vector64<Int16>, Int32)

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

ShiftLeft(Vector64<Int32>, Int32)

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

ShiftLeft(Vector64<Int64>, Int32)

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

ShiftLeft(Vector64<IntPtr>, Int32)

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

ShiftLeft(Vector64<SByte>, Int32)

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

ShiftLeft(Vector64<UInt16>, Int32)

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

ShiftLeft(Vector64<UInt32>, Int32)

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

ShiftLeft(Vector64<UInt64>, Int32)

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

ShiftLeft(Vector64<UIntPtr>, Int32)

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

ShiftRightArithmetic(Vector64<Int16>, Int32)

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

ShiftRightArithmetic(Vector64<Int32>, Int32)

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

ShiftRightArithmetic(Vector64<Int64>, Int32)

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

ShiftRightArithmetic(Vector64<IntPtr>, Int32)

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

ShiftRightArithmetic(Vector64<SByte>, Int32)

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

ShiftRightLogical(Vector64<Byte>, Int32)

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

ShiftRightLogical(Vector64<Int16>, Int32)

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

ShiftRightLogical(Vector64<Int32>, Int32)

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

ShiftRightLogical(Vector64<Int64>, Int32)

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

ShiftRightLogical(Vector64<IntPtr>, Int32)

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

ShiftRightLogical(Vector64<SByte>, Int32)

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

ShiftRightLogical(Vector64<UInt16>, Int32)

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

ShiftRightLogical(Vector64<UInt32>, Int32)

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

ShiftRightLogical(Vector64<UInt64>, Int32)

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

ShiftRightLogical(Vector64<UIntPtr>, Int32)

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

Sqrt<T>(Vector64<T>)

Computes the square root of a vector on a per-element basis.

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.

Subtract<T>(Vector64<T>, Vector64<T>)

Subtracts two vectors to compute their difference.

Sum<T>(Vector64<T>)

Computes the sum of all elements in a vector.

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.

Widen(Vector64<Byte>)

Widens a Vector64<T> into two Vector64<T>.

Widen(Vector64<Int16>)

Widens a Vector64<T> into two Vector64<T>.

Widen(Vector64<Int32>)

Widens a Vector64<T> into two Vector64<T>.

Widen(Vector64<SByte>)

Widens a Vector64<T> into two Vector64<T>.

Widen(Vector64<Single>)

Widens a Vector64<T> into two Vector64<T>.

Widen(Vector64<UInt16>)

Widens a Vector64<T> into two Vector64<T>.

Widen(Vector64<UInt32>)

Widens a Vector64<T> into two Vector64<T>.

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.

Xor<T>(Vector64<T>, Vector64<T>)

Computes the exclusive-or of two vectors.

Applies to