Vector<T> 構造体

定義

並列アルゴリズムの下位レベルでの最適化に適する、指定した数値型の 1 つのベクトルを表します。

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

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

Count

ベクトルに格納されている要素の数を返します。

Indices

並列アルゴリズムの下位レベルでの最適化に適する、指定した数値型の 1 つのベクトルを表します。

IsSupported

がサポートされているかどうかを T 示す値を取得します。

Item[Int32]

指定したインデックス位置にある要素を取得します。

One

すべての要素が 1 のベクトルを返します。

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

指定したベクトルの要素の 1 の補数をとった値を要素とする新しいベクトルを返します。

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

新しい Vector128<T> として Vector<T> を再解釈します。

AsVector256<T>(Vector<T>)

新しい Vector256<T> として Vector<T> を再解釈します。

AsVector512<T>(Vector<T>)

新しい Vector512<T> として Vector<T> を再解釈します。

適用対象