Vector<T> 结构
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示指定数值类型的单个向量,该向量适用于并行算法的低级别优化。
generic <typename T>
where T : value classpublic value class Vector : IEquatable<System::Numerics::Vector<T>>, IFormattable
generic <typename T>
public value class Vector : IEquatable<System::Numerics::Vector<T>>, IFormattable
public struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable
type Vector<'T (requires 'T : struct)> = struct
interface IFormattable
type Vector<'T> = struct
interface IFormattable
Public Structure Vector(Of T)
Implements IEquatable(Of Vector(Of T)), IFormattable
类型参数
- T
向量中的元素的类型。
T
可以是任何基元数值类型。
- 继承
- 实现
注解
Vector<T> 是一个不可变结构,表示指定数值类型的单个向量。 Vector<T> 实例计数是固定的,但其上限取决于 CPU 寄存器。 它旨在用作向量大型算法的构建基块,因此不能直接用作任意长度向量或张量。
Vector<T> 结构为硬件加速提供支持。
本文中的术语 基元数值数据类型 是指 CPU 直接支持的数值数据类型,并具有可以操作这些数据类型的说明。
构造函数
Vector<T>(ReadOnlySpan<Byte>) |
从给定的只读字节范围构造向量。 |
Vector<T>(ReadOnlySpan<T>) |
从给定的 ReadOnlySpan<T>构造向量。 |
Vector<T>(Span<T>) |
从给定的 Span<T>构造向量。 |
Vector<T>(T) |
创建其组件属于指定类型的向量。 |
Vector<T>(T[]) |
从指定的数组创建矢量。 |
Vector<T>(T[], Int32) |
从指定数组创建从指定索引位置开始的向量。 |
属性
AllBitsSet |
获取一个新的 Vector<T>,所有位都设置为 1。 |
Count |
返回矢量中存储的元素数。 |
Indices |
获取一个新的 Vector<T>,其中元素设置为其索引。 |
IsSupported |
获取一个值,该值指示是否支持 |
Item[Int32] |
获取指定索引处的元素。 |
One |
返回包含所有矢量的向量。 |
Zero |
返回一个包含所有零的向量。 |
方法
CopyTo(Span<Byte>) |
将向量复制到给定 Span<T>。 |
CopyTo(Span<T>) |
将向量复制到给定范围。 . |
CopyTo(T[]) |
将向量实例复制到指定的目标数组。 |
CopyTo(T[], Int32) |
将向量实例复制到从指定索引位置开始的指定目标数组。 |
Equals(Object) |
返回一个值,该值指示此实例是否等于指定对象。 |
Equals(Vector<T>) |
返回一个值,该值指示此实例是否等于指定的向量。 |
GetHashCode() |
返回此实例的哈希代码。 |
ToString() |
使用默认格式返回此矢量的字符串表示形式。 |
ToString(String) |
返回此矢量的字符串表示形式,使用指定的格式字符串设置单个元素的格式。 |
ToString(String, IFormatProvider) |
返回此矢量的字符串表示形式,使用指定的格式字符串来设置单个元素的格式,以及用于定义区域性特定的格式设置的指定格式提供程序。 |
TryCopyTo(Span<Byte>) |
尝试将向量复制到给定字节范围。 |
TryCopyTo(Span<T>) |
尝试将向量复制到给定 Span<T>。 |
运算符
扩展方法
As<TFrom,TTo>(Vector<TFrom>) | |
GetElement<T>(Vector<T>, Int32) |
获取指定索引处的元素。 |
Store<T>(Vector<T>, T*) |
将向量存储在给定的目标处。 |
StoreAligned<T>(Vector<T>, T*) |
将矢量存储在给定的对齐目标处。 |
StoreAlignedNonTemporal<T>(Vector<T>, T*) |
将矢量存储在给定的对齐目标处。 |
StoreUnsafe<T>(Vector<T>, T) |
将向量存储在给定的目标处。 |
StoreUnsafe<T>(Vector<T>, T, UIntPtr) |
将向量存储在给定的目标处。 |
ToScalar<T>(Vector<T>) |
将给定向量转换为包含第一个元素值的标量。 |
WithElement<T>(Vector<T>, Int32, T) |
创建一个新的 Vector<T>,该元素位于指定索引处设置为指定值,其余元素设置为与给定向量中的相同值。 |
AsVector128<T>(Vector<T>) |
将 Vector<T> 重新解释为新的 Vector128<T>。 |
AsVector256<T>(Vector<T>) |
将 Vector<T> 重新解释为新的 Vector256<T>。 |
AsVector512<T>(Vector<T>) |
将 Vector<T> 重新解释为新的 Vector512<T>。 |