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> は、指定した数値型の 1 つのベクターを表す変更できない構造体です。 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

すべてのビットが 1 に設定された新しい Vector<T> を取得します。

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

2 つのベクトルを一緒に追加します。

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

2 つのベクトル内の各要素に対してビットごとの And 演算を実行して、新しいベクターを返します。

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

2 つのベクトル内の各要素に対してビットごとの Or 演算を実行して、新しいベクターを返します。

Division(Vector<T>, T)

ベクターをスカラーで除算して、要素ごとの商を計算します。

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

最初のベクトルを 2 番目のベクトルで除算します。

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

指定した 2 つのベクトル内の要素の各ペアが等しいかどうかを示す値を返します。

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

2 つのベクトル内の各要素に対してビットごとの 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>)

指定したベクター内の要素の 1 つのペアが等しいかどうかを示す値を返します。

LeftShift(Vector<T>, Int32)

ベクターの各要素を指定した量だけ左にシフトします。

Multiply(T, Vector<T>)

ベクターに指定したスカラー値を乗算します。

Multiply(Vector<T>, T)

ベクターに指定したスカラー値を乗算します。

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

指定された 2 つのベクトル内の要素の各ペアの積である値を持つ新しいベクターを返します。

OnesComplement(Vector<T>)

指定したベクターの要素の補数を取得して要素を取得する新しいベクターを返します。

RightShift(Vector<T>, Int32)

ベクターの各要素を、指定した量だけ右にシフト (符号付き) します。

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

最初のベクトルから 2 番目のベクトルを減算します。

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>として再解釈します。

適用対象