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
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
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> は、指定した数値型の 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[], Int32) |
指定したインデックス位置から始まる指定した配列からベクターを作成します。 |
| Vector<T>(T[]) |
指定した配列からベクターを作成します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| AllBitsSet |
すべてのビットが 1 に設定された新しい Vector<T> を取得します。 |
| Count |
ベクターに格納されている要素の数を返します。 |
| Indices |
要素がインデックスに設定された新しい Vector<T> を取得します。 |
| IsSupported |
|
| Item[Int32] |
指定したインデックス位置にある要素を取得します。 |
| One |
すべてのベクトルを含むベクターを返します。 |
| Zero |
すべてのゼロを含むベクターを返します。 |
メソッド
| 名前 | 説明 |
|---|---|
| CopyTo(Span<Byte>) |
指定した Span<T>にベクターをコピーします。 |
| CopyTo(Span<T>) |
指定されたスパンにベクターをコピーします。 . |
| CopyTo(T[], Int32) |
指定したインデックス位置から始まる、指定したコピー先配列にベクター インスタンスをコピーします。 |
| CopyTo(T[]) |
指定したコピー先配列にベクター インスタンスをコピーします。 |
| Equals(Object) |
このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。 |
| Equals(Vector<T>) |
このインスタンスが指定したベクターと等しいかどうかを示す値を返します。 |
| GetHashCode() |
このインスタンスのハッシュ コードを返します。 |
| ToString() |
既定の書式設定を使用して、このベクターの文字列形式を返します。 |
| ToString(String, IFormatProvider) |
指定した書式指定文字列を使用して個々の要素を書式設定し、指定した書式プロバイダーを使用してカルチャ固有の書式設定を定義する、このベクターの文字列形式を返します。 |
| ToString(String) |
指定した書式指定文字列を使用して個々の要素を書式設定する、このベクターの文字列形式を返します。 |
| TryCopyTo(Span<Byte>) |
指定されたバイト スパンにベクターをコピーしようとします。 |
| TryCopyTo(Span<T>) |
指定した Span<T>にベクターのコピーを試みます。 |
演算子
| 名前 | 説明 |
|---|---|
| Addition(Vector<T>, Vector<T>) |
2 つのベクトルを一緒に追加します。 |
| BitwiseAnd(Vector<T>, Vector<T>) |
2 つのベクトル内の各要素に対してビットごとの |
| BitwiseOr(Vector<T>, Vector<T>) |
2 つのベクトル内の各要素に対してビットごとの |
| Division(Vector<T>, T) |
ベクターをスカラーで除算して、要素ごとの商を計算します。 |
| Division(Vector<T>, Vector<T>) |
最初のベクトルを 2 番目のベクトルで除算します。 |
| Equality(Vector<T>, Vector<T>) |
指定した 2 つのベクトル内の要素の各ペアが等しいかどうかを示す値を返します。 |
| ExclusiveOr(Vector<T>, Vector<T>) |
2 つのベクトル内の各要素に対してビットごとの |
| 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) |
ベクターの各要素を、指定した量だけ右にシフト (符号なし) します。 |
拡張機能プロパティ
| 名前 | 説明 |
|---|---|
| E |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| Epsilon |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| NaN |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| NegativeInfinity |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| NegativeOne |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| NegativeZero |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| Pi |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| PositiveInfinity |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
| Tau |
並列アルゴリズムの低レベルの最適化に適した、指定した数値型の単一ベクトルを表します。 |
拡張メソッド
| 名前 | 説明 |
|---|---|
| As<TFrom,TTo>(Vector<TFrom>) | |
| AsVector128<T>(Vector<T>) |
Vector<T>を新しいVector128<T>として再解釈します。 |
| AsVector256<T>(Vector<T>) |
Vector<T>を新しいVector256<T>として再解釈します。 |
| AsVector512<T>(Vector<T>) |
Vector<T>を新しいVector512<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, UIntPtr) |
指定された変換先にベクターを格納します。 |
| StoreUnsafe<T>(Vector<T>, T) |
指定された変換先にベクターを格納します。 |
| ToScalar<T>(Vector<T>) |
指定されたベクターを、最初の要素の値を含むスカラーに変換します。 |
| WithElement<T>(Vector<T>, Int32, T) |
指定したインデックス位置にある要素を指定した値に設定し、残りの要素を指定されたベクター内の要素と同じ値に設定して、新しい Vector<T> を作成します。 |