共用方式為


Vector<T> 結構

定義

表示適用於平行演算法低階優化之指定數值類型的單一向量。

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> 是不可變的結構,代表指定數值類型的單一向量。 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

取得值,指出是否支援 T

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>

運算子

Addition(Vector<T>, Vector<T>)

將兩個向量相加。

BitwiseAnd(Vector<T>, Vector<T>)

在兩個向量中的每個元素上執行位 And 運算,以傳回新的向量。

BitwiseOr(Vector<T>, Vector<T>)

在兩個向量中的每個元素上執行位 Or 運算,以傳回新的向量。

Division(Vector<T>, T)

將向量除以純量來計算每個元素商數。

Division(Vector<T>, Vector<T>)

將第一個向量除以第二個。

Equality(Vector<T>, Vector<T>)

傳回值,這個值表示兩個指定向量中的每個專案組是否相等。

ExclusiveOr(Vector<T>, Vector<T>)

在兩個向量中的每個元素上執行位 XOr 運算,以傳回新的向量。

Explicit(Vector<T> to Vector<Byte>)

將指定向量的位重新解譯為 類型為 的向量,Byte

Explicit(Vector<T> to Vector<Double>)

將指定向量的位重新解譯為 類型為 的向量,Double

Explicit(Vector<T> to Vector<Int16>)

將指定向量的位重新解譯為 類型為 的向量,Int16

Explicit(Vector<T> to Vector<Int32>)

將指定向量的位重新解譯為 類型為 的向量,Int32

Explicit(Vector<T> to Vector<Int64>)

將指定向量的位重新解譯為 類型為 的向量,Int64

Explicit(Vector<T> to Vector<IntPtr>)

將來源向量的位重新解譯成原生大小整數的向量。

Explicit(Vector<T> to Vector<SByte>)

將指定向量的位重新解譯為 類型為 的向量,SByte

Explicit(Vector<T> to Vector<Single>)

將指定向量的位重新解譯為 類型為 的向量,Single

Explicit(Vector<T> to Vector<UInt16>)

將指定向量的位重新解譯為 類型為 的向量,UInt16

Explicit(Vector<T> to Vector<UInt32>)

將指定向量的位重新解譯為 類型為 的向量,UInt32

Explicit(Vector<T> to Vector<UInt64>)

將指定向量的位重新解譯為 類型為 的向量,UInt64

Explicit(Vector<T> to Vector<UIntPtr>)

將來源向量的位重新解譯為原生大小、無符號整數的向量。

Inequality(Vector<T>, Vector<T>)

傳回值,這個值表示指定向量中的任何單一專案組是否相等。

LeftShift(Vector<T>, Int32)

將向量的每個項目移出指定的數量。

Multiply(T, Vector<T>)

將向量乘以指定的純量值。

Multiply(Vector<T>, T)

將向量乘以指定的純量值。

Multiply(Vector<T>, Vector<T>)

傳回新的向量,其值是兩個指定向量中每個專案組的乘積。

OnesComplement(Vector<T>)

傳回新的向量,其專案是藉由取得指定向量元素的補碼來取得。

RightShift(Vector<T>, Int32)

將向量右向量的每個元素移位(帶正負號),由指定的數量移位。

Subtraction(Vector<T>, Vector<T>)

從第一個減去第二個向量。

UnaryNegation(Vector<T>)

否定指定的向量。

UnaryPlus(Vector<T>)

傳回未變更的指定向量。

UnsignedRightShift(Vector<T>, Int32)

依指定的數量,將向量右方的每個元素移位(不帶正負號)。

擴充方法

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

Vector<T> 重新解譯為新的 Vector<T>

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>

適用於