Edit

Share via


Vector256 Class

Definition

Provides a collection of static methods for creating, manipulating, and otherwise operating on 256-bit vectors.

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

Properties

IsHardwareAccelerated

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

Methods

Abs<T>(Vector256<T>)

Computes the absolute value of each element in a vector.

Add<T>(Vector256<T>, Vector256<T>)

Adds two vectors to compute their sum.

AndNot<T>(Vector256<T>, Vector256<T>)

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

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

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

AsByte<T>(Vector256<T>)

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

AsDouble<T>(Vector256<T>)

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

AsInt16<T>(Vector256<T>)

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

AsInt32<T>(Vector256<T>)

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

AsInt64<T>(Vector256<T>)

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

AsNInt<T>(Vector256<T>)

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

AsNUInt<T>(Vector256<T>)

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

AsSByte<T>(Vector256<T>)

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

AsSingle<T>(Vector256<T>)

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

AsUInt16<T>(Vector256<T>)

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

AsUInt32<T>(Vector256<T>)

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

AsUInt64<T>(Vector256<T>)

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

AsVector<T>(Vector256<T>)

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

AsVector256<T>(Vector<T>)

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

BitwiseAnd<T>(Vector256<T>, Vector256<T>)

Computes the bitwise-and of two vectors.

BitwiseOr<T>(Vector256<T>, Vector256<T>)

Computes the bitwise-or of two vectors.

Ceiling(Vector256<Double>)

Computes the ceiling of each element in a vector.

Ceiling(Vector256<Single>)

Computes the ceiling of each element in a vector.

Clamp<T>(Vector256<T>, Vector256<T>, Vector256<T>)

Restricts a vector between a minimum and a maximum value.

ClampNative<T>(Vector256<T>, Vector256<T>, Vector256<T>)

Restricts a vector between a minimum and a maximum value using platform specific behavior for NaN and NegativeZero..

ConditionalSelect<T>(Vector256<T>, Vector256<T>, Vector256<T>)

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

ConvertToDouble(Vector256<Int64>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToDouble(Vector256<UInt64>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToInt32(Vector256<Single>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToInt32Native(Vector256<Single>)

Converts a Vector256<Single> to a Vector256<Int32> using platform specific behavior on overflow.

ConvertToInt64(Vector256<Double>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToInt64Native(Vector256<Double>)

Converts a Vector256<Double> to a Vector256<Int64> using platform specific behavior on overflow.

ConvertToSingle(Vector256<Int32>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToSingle(Vector256<UInt32>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToUInt32(Vector256<Single>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToUInt32Native(Vector256<Single>)

Converts a Vector256<Single> to a Vector256<UInt32> using platform specific behavior on overflow.

ConvertToUInt64(Vector256<Double>)

Converts a Vector256<T> to a Vector256<T>.

ConvertToUInt64Native(Vector256<Double>)

Converts a Vector256<Double> to a Vector256<UInt64> using platform specific behavior on overflow.

CopySign<T>(Vector256<T>, Vector256<T>)

Copies the per-element sign of a vector to the per-element sign of another vector.

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

Copies a Vector256<T> to a given span.

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

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

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

Copies a Vector256<T> to a given array.

Cos(Vector256<Double>)

Computes the cos of each element in a vector.

Cos(Vector256<Single>)

Computes the cos of each element in a vector.

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

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

Create(Byte)

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

Create(Double, Double, Double, Double)

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

Create(Double)

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

Create(Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16, Int16)

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

Create(Int16)

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

Create(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

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

Create(Int32)

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

Create(Int64, Int64, Int64, Int64)

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

Create(Int64)

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

Create(IntPtr)

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

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

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

Create(SByte)

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

Create(Single, Single, Single, Single, Single, Single, Single, Single)

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

Create(Single)

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

Create(UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16, UInt16)

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

Create(UInt16)

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

Create(UInt32, UInt32, UInt32, UInt32, UInt32, UInt32, UInt32, UInt32)

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

Create(UInt32)

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

Create(UInt64, UInt64, UInt64, UInt64)

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

Create(UInt64)

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

Create(UIntPtr)

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

Create(Vector128<Byte>, Vector128<Byte>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<Double>, Vector128<Double>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<Int16>, Vector128<Int16>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<Int32>, Vector128<Int32>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<Int64>, Vector128<Int64>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<IntPtr>, Vector128<IntPtr>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<SByte>, Vector128<SByte>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<Single>, Vector128<Single>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<UInt16>, Vector128<UInt16>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<UInt32>, Vector128<UInt32>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<UInt64>, Vector128<UInt64>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create(Vector128<UIntPtr>, Vector128<UIntPtr>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create<T>(ReadOnlySpan<T>)

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

Create<T>(T)

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

Create<T>(T[], Int32)

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

Create<T>(T[])

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

Create<T>(Vector128<T>, Vector128<T>)

Creates a new Vector256<T> instance from two Vector128<T> instances.

Create<T>(Vector128<T>)

Creates a new Vector256<T> instance with the lower and upper 128-bits initialized to a specified value.

Create<T>(Vector64<T>)

Creates a new Vector256<T> instance with all 64-bit parts initialized to a specified value.

CreateScalar(Byte)

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

CreateScalar(Double)

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

CreateScalar(Int16)

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

CreateScalar(Int32)

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

CreateScalar(Int64)

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

CreateScalar(IntPtr)

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

CreateScalar(SByte)

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

CreateScalar(Single)

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

CreateScalar(UInt16)

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

CreateScalar(UInt32)

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

CreateScalar(UInt64)

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

CreateScalar(UIntPtr)

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

CreateScalar<T>(T)

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

CreateScalarUnsafe(Byte)

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

CreateScalarUnsafe(Double)

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

CreateScalarUnsafe(Int16)

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

CreateScalarUnsafe(Int32)

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

CreateScalarUnsafe(Int64)

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

CreateScalarUnsafe(IntPtr)

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

CreateScalarUnsafe(SByte)

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

CreateScalarUnsafe(Single)

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

CreateScalarUnsafe(UInt16)

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

CreateScalarUnsafe(UInt32)

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

CreateScalarUnsafe(UInt64)

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

CreateScalarUnsafe(UIntPtr)

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

CreateScalarUnsafe<T>(T)

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

CreateSequence<T>(T, T)

Creates a new Vector256<T> instance where the elements begin at a specified value and which are spaced apart according to another specified value.

DegreesToRadians(Vector256<Double>)

Converts a given vector from degrees to radians.

DegreesToRadians(Vector256<Single>)

Converts a given vector from degrees to radians.

Divide<T>(Vector256<T>, T)

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

Divide<T>(Vector256<T>, Vector256<T>)

Divides two vectors to compute their quotient.

Dot<T>(Vector256<T>, Vector256<T>)

Computes the dot product of two vectors.

Equals<T>(Vector256<T>, Vector256<T>)

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

EqualsAll<T>(Vector256<T>, Vector256<T>)

Compares two vectors to determine if all elements are equal.

EqualsAny<T>(Vector256<T>, Vector256<T>)

Compares two vectors to determine if any elements are equal.

Exp(Vector256<Double>)

Computes the exp of each element in a vector.

Exp(Vector256<Single>)

Computes the exp of each element in a vector.

ExtractMostSignificantBits<T>(Vector256<T>)

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

Floor(Vector256<Double>)

Computes the floor of each element in a vector.

Floor(Vector256<Single>)

Computes the floor of each element in a vector.

FusedMultiplyAdd(Vector256<Double>, Vector256<Double>, Vector256<Double>)

Computes (left * right) + addend, rounded as one ternary operation.

FusedMultiplyAdd(Vector256<Single>, Vector256<Single>, Vector256<Single>)

Computes (left * right) + addend, rounded as one ternary operation.

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

Gets the element at the specified index.

GetLower<T>(Vector256<T>)

Gets the value of the lower 128 bits as a new Vector128<T>.

GetUpper<T>(Vector256<T>)

Gets the value of the upper 128 bits as a new Vector128<T>.

GreaterThan<T>(Vector256<T>, Vector256<T>)

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

GreaterThanAll<T>(Vector256<T>, Vector256<T>)

Compares two vectors to determine if all elements are greater.

GreaterThanAny<T>(Vector256<T>, Vector256<T>)

Compares two vectors to determine if any elements are greater.

GreaterThanOrEqual<T>(Vector256<T>, Vector256<T>)

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

GreaterThanOrEqualAll<T>(Vector256<T>, Vector256<T>)

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

GreaterThanOrEqualAny<T>(Vector256<T>, Vector256<T>)

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

Hypot(Vector256<Double>, Vector256<Double>)

Computes the hypotenuse given two vectors representing the lengths of the shorter sides in a right-angled triangle.

Hypot(Vector256<Single>, Vector256<Single>)

Computes the hypotenuse given two vectors representing the lengths of the shorter sides in a right-angled triangle.

IsNaN<T>(Vector256<T>)

Determines which elements in a vector are NaN.

IsNegative<T>(Vector256<T>)

Determines which elements in a vector represents negative real numbers.

IsPositive<T>(Vector256<T>)

Determines which elements in a vector represents positive real numbers.

IsPositiveInfinity<T>(Vector256<T>)

Determines which elements in a vector are positive infinity.

IsZero<T>(Vector256<T>)

Determines which elements in a vector are zero.

Lerp(Vector256<Double>, Vector256<Double>, Vector256<Double>)

Performs a linear interpolation between two vectors based on the given weighting.

Lerp(Vector256<Single>, Vector256<Single>, Vector256<Single>)

Performs a linear interpolation between two vectors based on the given weighting.

LessThan<T>(Vector256<T>, Vector256<T>)

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

LessThanAll<T>(Vector256<T>, Vector256<T>)

Compares two vectors to determine if all elements are less.

LessThanAny<T>(Vector256<T>, Vector256<T>)

Compares two vectors to determine if any elements are less.

LessThanOrEqual<T>(Vector256<T>, Vector256<T>)

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

LessThanOrEqualAll<T>(Vector256<T>, Vector256<T>)

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

LessThanOrEqualAny<T>(Vector256<T>, Vector256<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, UIntPtr)

Loads a vector from the given source and element offset.

LoadUnsafe<T>(T)

Loads a vector from the given source.

Log(Vector256<Double>)

Computes the log of each element in a vector.

Log(Vector256<Single>)

Computes the log of each element in a vector.

Log2(Vector256<Double>)

Computes the log2 of each element in a vector.

Log2(Vector256<Single>)

Computes the log2 of each element in a vector.

Max<T>(Vector256<T>, Vector256<T>)

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

MaxMagnitude<T>(Vector256<T>, Vector256<T>)

Compares two vectors to compute which has the greater magnitude on a per-element basis.

MaxMagnitudeNumber<T>(Vector256<T>, Vector256<T>)

Compares two vectors, on a per-element basis, to compute which has the greater magnitude and returning the other value if an input is NaN.

MaxNative<T>(Vector256<T>, Vector256<T>)

Compare two vectors to determine which is greater on a per-element basis using platform specific behavior for NaN and NegativeZero.

MaxNumber<T>(Vector256<T>, Vector256<T>)

Compares two vectors, on a per-element basis, to compute which is greater and returning the other value if an element is NaN.

Min<T>(Vector256<T>, Vector256<T>)

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

MinMagnitude<T>(Vector256<T>, Vector256<T>)

Compares two vectors to compute which has the lesser magnitude on a per-element basis.

MinMagnitudeNumber<T>(Vector256<T>, Vector256<T>)

Compares two vectors, on a per-element basis, to compute which has the lesser magnitude and returning the other value if an input is NaN.

MinNative<T>(Vector256<T>, Vector256<T>)

Compare two vectors to determine which is lesser on a per-element basis using platform specific behavior for NaN and NegativeZero.

MinNumber<T>(Vector256<T>, Vector256<T>)

Compares two vectors, on a per-element basis, to compute which is lesser and returning the other value if an element is NaN.

Multiply<T>(T, Vector256<T>)

Multiplies a vector by a scalar to compute their product.

Multiply<T>(Vector256<T>, T)

Multiplies a vector by a scalar to compute their product.

Multiply<T>(Vector256<T>, Vector256<T>)

Multiplies two vectors to compute their element-wise product.

MultiplyAddEstimate(Vector256<Double>, Vector256<Double>, Vector256<Double>)

Computes an estimate of (left * right) + addend.

MultiplyAddEstimate(Vector256<Single>, Vector256<Single>, Vector256<Single>)

Computes an estimate of (left * right) + addend.

Narrow(Vector256<Double>, Vector256<Double>)

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

Narrow(Vector256<Int16>, Vector256<Int16>)

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

Narrow(Vector256<Int32>, Vector256<Int32>)

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

Narrow(Vector256<Int64>, Vector256<Int64>)

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

Narrow(Vector256<UInt16>, Vector256<UInt16>)

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

Narrow(Vector256<UInt32>, Vector256<UInt32>)

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

Narrow(Vector256<UInt64>, Vector256<UInt64>)

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

Negate<T>(Vector256<T>)

Negates a vector.

OnesComplement<T>(Vector256<T>)

Computes the ones-complement of a vector.

RadiansToDegrees(Vector256<Double>)

Converts a given vector from radians to degrees.

RadiansToDegrees(Vector256<Single>)

Converts a given vector from radians to degrees.

Round(Vector256<Double>, MidpointRounding)

Rounds each element in a vector to the nearest integer using the specified rounding mode.

Round(Vector256<Double>)
Round(Vector256<Single>, MidpointRounding)

Rounds each element in a vector to the nearest integer using the specified rounding mode.

Round(Vector256<Single>)
ShiftLeft(Vector256<Byte>, Int32)

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

ShiftLeft(Vector256<Int16>, Int32)

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

ShiftLeft(Vector256<Int32>, Int32)

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

ShiftLeft(Vector256<Int64>, Int32)

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

ShiftLeft(Vector256<IntPtr>, Int32)

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

ShiftLeft(Vector256<SByte>, Int32)

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

ShiftLeft(Vector256<UInt16>, Int32)

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

ShiftLeft(Vector256<UInt32>, Int32)

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

ShiftLeft(Vector256<UInt64>, Int32)

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

ShiftLeft(Vector256<UIntPtr>, Int32)

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

ShiftRightArithmetic(Vector256<Int16>, Int32)

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

ShiftRightArithmetic(Vector256<Int32>, Int32)

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

ShiftRightArithmetic(Vector256<Int64>, Int32)

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

ShiftRightArithmetic(Vector256<IntPtr>, Int32)

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

ShiftRightArithmetic(Vector256<SByte>, Int32)

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

ShiftRightLogical(Vector256<Byte>, Int32)

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

ShiftRightLogical(Vector256<Int16>, Int32)

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

ShiftRightLogical(Vector256<Int32>, Int32)

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

ShiftRightLogical(Vector256<Int64>, Int32)

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

ShiftRightLogical(Vector256<IntPtr>, Int32)

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

ShiftRightLogical(Vector256<SByte>, Int32)

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

ShiftRightLogical(Vector256<UInt16>, Int32)

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

ShiftRightLogical(Vector256<UInt32>, Int32)

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

ShiftRightLogical(Vector256<UInt64>, Int32)

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

ShiftRightLogical(Vector256<UIntPtr>, Int32)

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

Shuffle(Vector256<Byte>, Vector256<Byte>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<Double>, Vector256<Int64>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<Int16>, Vector256<Int16>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<Int32>, Vector256<Int32>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<Int64>, Vector256<Int64>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<SByte>, Vector256<SByte>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<Single>, Vector256<Int32>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<UInt16>, Vector256<UInt16>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<UInt32>, Vector256<UInt32>)

Creates a new vector by selecting values from an input vector using a set of indices.

Shuffle(Vector256<UInt64>, Vector256<UInt64>)

Creates a new vector by selecting values from an input vector using a set of indices.

Sin(Vector256<Double>)

Computes the sin of each element in a vector.

Sin(Vector256<Single>)

Computes the sin of each element in a vector.

SinCos(Vector256<Double>)

Computes the cos of each element in a vector.

SinCos(Vector256<Single>)

Computes the cos of each element in a vector.

Sqrt<T>(Vector256<T>)

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

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

Stores a vector at the given destination.

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

Stores a vector at the given aligned destination.

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

Stores a vector at the given aligned destination.

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

Stores a vector at the given destination.

StoreUnsafe<T>(Vector256<T>, T)

Stores a vector at the given destination.

Subtract<T>(Vector256<T>, Vector256<T>)

Subtracts two vectors to compute their difference.

Sum<T>(Vector256<T>)

Computes the sum of all elements in a vector.

ToScalar<T>(Vector256<T>)

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

ToVector512<T>(Vector256<T>)

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

ToVector512Unsafe<T>(Vector256<T>)

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

Truncate(Vector256<Double>)
Truncate(Vector256<Single>)
TryCopyTo<T>(Vector256<T>, Span<T>)

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

Widen(Vector256<Byte>)

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

Widen(Vector256<Int16>)

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

Widen(Vector256<Int32>)

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

Widen(Vector256<SByte>)

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

Widen(Vector256<Single>)

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

Widen(Vector256<UInt16>)

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

Widen(Vector256<UInt32>)

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

WidenLower(Vector256<Byte>)

Widens the lower half of a Vector256<T> into a Vector256<T>.

WidenLower(Vector256<Int16>)

Widens the lower half of a Vector256<T> into a Vector256<T>.

WidenLower(Vector256<Int32>)

Widens the lower half of a Vector256<T> into a Vector256<T>.

WidenLower(Vector256<SByte>)

Widens the lower half of a Vector256<T> into a Vector256<T>.

WidenLower(Vector256<Single>)

Widens the lower half of a Vector256<T> into a Vector256<T>.

WidenLower(Vector256<UInt16>)

Widens the lower half of a Vector256<T> into a Vector256<T>.

WidenLower(Vector256<UInt32>)

Widens the lower half of a Vector256<T> into a Vector256<T>.

WidenUpper(Vector256<Byte>)

Widens the upper half of a Vector256<T> into a Vector256<T>.

WidenUpper(Vector256<Int16>)

Widens the upper half of a Vector256<T> into a Vector256<T>.

WidenUpper(Vector256<Int32>)

Widens the upper half of a Vector256<T> into a Vector256<T>.

WidenUpper(Vector256<SByte>)

Widens the upper half of a Vector256<T> into a Vector256<T>.

WidenUpper(Vector256<Single>)

Widens the upper half of a Vector256<T> into a Vector256<T>.

WidenUpper(Vector256<UInt16>)

Widens the upper half of a Vector256<T> into a Vector256<T>.

WidenUpper(Vector256<UInt32>)

Widens the upper half of a Vector256<T> into a Vector256<T>.

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

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

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

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

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

Xor<T>(Vector256<T>, Vector256<T>)

Computes the exclusive-or of two vectors.

Applies to