TensorSpan<T> 構造体

定義

TensorSpan は、任意のメモリの連続した領域を表します。 配列とは異なり、マネージド メモリまたはネイティブ メモリ、またはスタックに割り当てられたメモリを指すことができます。 タイプ セーフでメモリ セーフです。

generic <typename T>
public value class TensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct TensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type TensorSpan<'T> = struct
Public Structure TensorSpan(Of T)

型パラメーター

T
継承
TensorSpan<T>
属性

コンストラクター

TensorSpan<T>(Array)

指定された Arrayに対して新しい TensorSpan<T> を作成します。 新しい TensorSpan<T> のランクは 1 で、長さは指定された Arrayの長さと等しくなります。

TensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

指定した開始オフセット、長さ、ストライドを使用して、指定された Array に対して新しい TensorSpan<T> を作成します。 ストライドが指定されていない場合は、自動的に計算されます。

TensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

指定した開始オフセット、長さ、ストライドを使用して、指定された Array に対して新しい TensorSpan<T> を作成します。 ストライドが指定されていない場合は、自動的に計算されます。

TensorSpan<T>(Span<T>)

指定された Span<T>に対して新しい TensorSpan<T> を作成します。 新しい TensorSpan<T> のランクは 1 で、長さは指定された Span<T>の長さと等しくなります。

TensorSpan<T>(Span<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

指定した長さとストライドを使用して、指定された Span<T> に対して新しい TensorSpan<T> を作成します。 ストライドが指定されていない場合は、自動的に計算されます。

TensorSpan<T>(T*, IntPtr)

ターゲットのアンマネージド バッファーに対して新しいスパンを作成します。 明らかに、これは長さがチェックされていない非常に危険です。 ただし、この作成が正しい場合は、以降のすべての使用が正しいものです。

TensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

ターゲットのアンマネージド バッファーに対して新しいスパンを作成します。 長さがチェックされていないため、明らかにこれは非常に危険です。 ただし、この作成が正しい場合は、以降のすべての使用が正しいものです。

TensorSpan<T>(T[])

ターゲット配列全体に対して新しいスパンを作成します。

TensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

'start' インデックスから始まり、'end' インデックスで終わるターゲット配列の部分に対して新しいスパンを作成します (排他的)。

TensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

'start' インデックスから始まり、'end' インデックスで終わるターゲット配列の部分に対して新しいスパンを作成します (排他的)。

プロパティ

Empty

空の TensorSpan<T> を返します。

FlattenedLength

スパン内の項目の数。

IsEmpty

この TensorSpan<T> が空かどうかを示す値を取得します。

Item[ReadOnlySpan<IntPtr>]

TensorSpan の指定した要素への参照を返します。

Item[ReadOnlySpan<NIndex>]

TensorSpan の指定した要素への参照を返します。

Item[ReadOnlySpan<NRange>]

TensorSpan のスライスを返します。

Lengths

この TensorSpan<T>内の各ディメンションの長さを取得します。

Rank

この TensorSpan<T>のランク (ディメンションの数) を取得します。

Strides

この TensorSpan<T> のストライドを取得します。

メソッド

Clear()

このスパンの内容をクリアします。

CopyTo(TensorSpan<T>)

このスパンの内容をコピー先スパンにコピーします。 ソースと宛先が重複している場合、このメソッドは、変換先が上書きされる前の一時的な場所の元の値と同様に動作します。

Equals(Object)
古い.

スパンをボックス化できないため、このメソッドはサポートされていません。 2 つのスパンを比較するには、operator== を使用します。

Fill(T)

このスパンの内容に指定された値を入力します。

FlattenTo(Span<T>)

このスパンの内容を指定された Span<T>にフラット化します。

GetEnumerator()

このスパンの列挙子を取得します。

GetHashCode()
古い.

スパンをボックス化できないため、このメソッドはサポートされていません。

GetPinnableReference()

TensorSpan の 0 番目の要素への参照を返します。 TensorSpan が空の場合は、null 参照を返します。 固定ステートメント内でのスパンの使用をサポートするために必要なピン留め用に使用できます。

Slice(ReadOnlySpan<NIndex>)

TensorSpan の指定した要素への参照を返します。

Slice(ReadOnlySpan<NRange>)

指定されたスパンからスライスを形成します。

ToString()

Span<T>の場合は、スパンが指す文字を表す文字列の新しいインスタンスを返します。 それ以外の場合は、型の名前と要素の数を持つ String を返します。

TryCopyTo(TensorSpan<T>)

このスパンの内容をコピー先スパンにコピーします。 ソースと宛先が重複している場合、このメソッドは、変換先が上書きされる前の一時的な場所の元の値と同様に動作します。

TryFlattenTo(Span<T>)

このスパンの内容を指定された Span<T>にフラット化します。

演算子

Equality(TensorSpan<T>, TensorSpan<T>)

同じメモリの左と右のポイントと同じ長さを持つ場合は true を返します。 の内容が等しいかどうかを確認 注意してください。

Implicit(T[] to TensorSpan<T>)

TensorSpan は、任意のメモリの連続した領域を表します。 配列とは異なり、マネージド メモリまたはネイティブ メモリ、またはスタックに割り当てられたメモリを指すことができます。 タイプ セーフでメモリ セーフです。

Implicit(TensorSpan<T> to ReadOnlyTensorSpan<T>)

TensorSpan<T>ReadOnlyTensorSpan<T>に変換します。

Inequality(TensorSpan<T>, TensorSpan<T>)

同じメモリの左と右のポイントの長さが同じである場合は false を返します。 の内容が等しいかどうかを確認 注意してください。

拡張メソッド

BroadcastTo<T>(TensorSpan<T>, TensorSpan<T>)

source から destinationにデータをブロードキャストします。

FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, T)

filter が true の valuetensor テンソルを更新します。

FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, ReadOnlyTensorSpan<T>)

filter が true の valuestensor テンソルを更新します。 ディメンションが同じでない場合は、例外がスローされます。

Reshape<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>)

指定した lengthstensor テンソルの形状を変更します。 いずれかの長さが -1 の場合は、自動的に計算されます。 基になるメモリの長さを変更したり、新しいメモリを割り当てたりしません。 新しい図形が古い図形と互換性がない場合は、例外がスローされます。

SequenceEqual<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>)

IEquatable{T} を使用して要素を比較することで、2 つのシーケンスが等しいかどうかを判断します。Equals(T)。

SetSlice<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>, ReadOnlySpan<NRange>)

指定した ranges に指定された values を使用して、指定された tensor のスライスを設定します。

Squeeze<T>(TensorSpan<T>)

長さ 1 のすべての寸法を tensorから削除します。

SqueezeDimension<T>(TensorSpan<T>, Int32)

指定した dimensiontensor から長さ 1 の軸を削除します。 ディメンションが長さ 1 でない場合は、例外がスローされます。

ToString<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>)

TensorSpan<T>String 表現を作成します。/>

TryBroadcastTo<T>(TensorSpan<T>, TensorSpan<T>)

tensor から destination と互換性のある最小のブロードキャスト可能な図形にデータをブロードキャストし、destination に格納する図形に互換性がない場合は false が返されます。

Unsqueeze<T>(TensorSpan<T>, Int32)

寸法位置に表示される長さ 1 の新しい寸法を挿入します。

適用対象