Vector512<T> 结构

定义

表示指定数值类型的 512 位向量,该向量适用于并行算法的低级别优化。

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))

类型参数

T

向量中元素的类型。

继承
Vector512<T>
实现

属性

AllBitsSet

获取一个新的 Vector512<T>,并将所有位设置为 1。

Count

获取 Vector512<T>T 的数量。

Indices

表示指定数值类型的 512 位向量,该向量适用于并行算法的低级别优化。

IsSupported

如果 支持 ,则T获取 true ;否则为 false

Item[Int32]

获取指定索引处的元素。

One

获取一个新的 Vector512<T> ,其中所有元素都初始化为 1。

Zero

获取新的 Vector512<T>,其中所有元素已初始化为零。

方法

Equals(Object)

确定指定的对象是否等于当前实例。

Equals(Vector512<T>)

确定指定的 Vector512<T> 是否等同于当前实例。

GetHashCode()

获取实例的哈希代码。

ToString()

将当前实例转换为等效的字符串表示形式。

运算符

Addition(Vector512<T>, Vector512<T>)

添加两个向量以计算其和。

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

计算两个向量的按位和 。

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

计算两个向量的按位或 。

Division(Vector512<T>, T)

将向量除以标量以计算每个元素的商。

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

将两个向量相除以计算其商。

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

比较两个向量以确定所有元素是否相等。

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

计算两个向量的独占或 。

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

比较两个向量以确定是否有任何元素不相等。

LeftShift(Vector512<T>, Int32)

将向量的每个元素左移指定量。

Multiply(T, Vector512<T>)

将向量乘以标量以计算其乘积。

Multiply(Vector512<T>, T)

将向量乘以标量以计算其乘积。

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

将两个向量相乘以计算它们的元素乘积。

OnesComplement(Vector512<T>)

计算向量的 1-补。

RightShift(Vector512<T>, Int32)

(向量向量右侧的每个元素) 有符号的移位指定量。

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

减去两个向量以计算其差值。

UnaryNegation(Vector512<T>)

计算向量的一元求反。

UnaryPlus(Vector512<T>)

返回未更改的给定向量。

UnsignedRightShift(Vector512<T>, Int32)

将 (无符号) 向量向量右侧的每个元素按指定量移位。

扩展方法

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

Vector512<T> 重新解释为新的 Vector512<T>

AsByte<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsDouble<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsInt16<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsInt32<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsInt64<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsNInt<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsNUInt<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsSByte<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsSingle<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsUInt16<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsUInt32<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsUInt64<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector512<T>

AsVector<T>(Vector512<T>)

Vector512<T> 重新解释为新的 Vector<T>

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

Vector512<T> 复制到给定数组。

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

Vector512<T> 复制到从指定索引开始的给定数组。

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

Vector512<T> 复制到给定范围。

ExtractMostSignificantBits<T>(Vector512<T>)

从向量中的每个元素中提取最高有效位。

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

获取指定索引处的元素。

GetLower<T>(Vector512<T>)

获取低 256 位的值作为新的 Vector256<T>

GetUpper<T>(Vector512<T>)

获取高 256 位的值作为新的 Vector256<T>

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

在给定目标处存储向量。

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

将向量存储在给定的对齐目标处。

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

将向量存储在给定的对齐目标处。

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

在给定目标处存储向量。

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

在给定目标处存储向量。

ToScalar<T>(Vector512<T>)

将给定向量转换为包含第一个元素的值的标量。

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

尝试将 复制到 Vector<T> 给定范围。

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

创建一个新的 Vector512<T>,将指定索引处的元素设置为指定值,并将其余元素设置为与给定向量中的值相同的值。

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

创建一个新的 Vector512<T> ,将较低的 256 位设置为指定值,并将高 256 位设置为与给定向量中的值相同的值。

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

创建一个新的 Vector512<T> ,将高 256 位设置为指定值,将低 256 位设置为与给定向量中的值相同的值。

适用于