TensorSpan<T> Struktura

Definice

TensorSpan představuje souvislou oblast libovolné paměti. Na rozdíl od polí může odkazovat na spravovanou nebo nativní paměť nebo na paměť přidělenou v zásobníku. Jedná se o typově bezpečné a bezpečné pro paměť.

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)

Parametry typu

T
Dědičnost
TensorSpan<T>
Atributy

Konstruktory

TensorSpan<T>(Array)

Vytvoří nový TensorSpan<T> nad zadaným Array. Nová TensorSpan<T> bude mít pořadí 1 a délku rovnající se délce poskytnuté Array.

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

Vytvoří nový TensorSpan<T> nad zadanými Array pomocí zadaných počátečních posunů, délek a kroků. Pokud nejsou zadané kroky, automaticky se vypočítají.

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

Vytvoří nový TensorSpan<T> nad zadanými Array pomocí zadaných počátečních posunů, délek a kroků. Pokud nejsou zadané kroky, automaticky se vypočítají.

TensorSpan<T>(Span<T>)

Vytvoří nový TensorSpan<T> nad zadaným Span<T>. Nová TensorSpan<T> bude mít pořadí 1 a délku rovnající se délce poskytnuté Span<T>.

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

Vytvoří nový TensorSpan<T> nad zadanými Span<T> pomocí zadaných délek a kroků. Pokud nejsou zadané kroky, automaticky se vypočítají.

TensorSpan<T>(T*, IntPtr)

Vytvoří nové rozpětí nad cílovou nespravovanou vyrovnávací pamětí. Je zřejmé, že je to docela nebezpečné, délka není kontrolována. Pokud je ale toto vytvoření správné, pak jsou všechna následná použití správná.

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

Vytvoří nové rozpětí nad cílovou nespravovanou vyrovnávací pamětí. Je zřejmé, že je to docela nebezpečné, protože délka není kontrolována. Pokud je ale toto vytvoření správné, pak jsou všechna následná použití správná.

TensorSpan<T>(T[])

Vytvoří nové rozpětí nad celou cílovou maticí.

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

Vytvoří nové rozpětí části cílového pole začínající na indexu start a končící na "end" index (výhradní).

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

Vytvoří nové rozpětí části cílového pole začínající na indexu start a končící na "end" index (výhradní).

Vlastnosti

Empty

Vrátí prázdnou TensorSpan<T>.

FlattenedLength

Počet položek v rozsahu

IsEmpty

Získá hodnotu označující, zda je tato TensorSpan<T> prázdná.

Item[ReadOnlySpan<IntPtr>]

Vrátí odkaz na zadaný prvek TensorSpan.

Item[ReadOnlySpan<NIndex>]

Vrátí odkaz na zadaný prvek TensorSpan.

Item[ReadOnlySpan<NRange>]

Vrátí řez tensorSpan.

Lengths

Získá délku každé dimenze v tomto TensorSpan<T>.

Rank

Získá pořadí, neboli počet dimenzí, tohoto TensorSpan<T>.

Strides

Získá kroky tohoto TensorSpan<T>

Metody

Clear()

Vymaže obsah tohoto rozsahu.

CopyTo(TensorSpan<T>)

Zkopíruje obsah tohoto rozsahu do cílového rozsahu. Pokud se zdroj a cíle překrývají, tato metoda se chová, jako by původní hodnoty v dočasném umístění před přepsání cíle.

Equals(Object)
Zastaralé.

Tato metoda není podporována, protože rozsahy nelze za boxovat. Chcete-li porovnat dvě rozsahy, použijte operátor==.

Fill(T)

Vyplní obsah tohoto rozsahu danou hodnotou.

FlattenTo(Span<T>)

Zploštěná obsah tohoto rozsahu do poskytnutého Span<T>.

GetEnumerator()

Získá enumerátor pro toto rozpětí.

GetHashCode()
Zastaralé.

Tato metoda není podporována, protože rozsahy nelze za boxovat.

GetPinnableReference()

Vrátí odkaz na 0. prvek TensorSpan. Pokud je TensorSpan prázdný, vrátí odkaz null. Lze ji použít pro připnutí a je nutná k podpoře použití rozsahu v rámci pevného příkazu.

Slice(ReadOnlySpan<NIndex>)

Vrátí odkaz na zadaný prvek TensorSpan.

Slice(ReadOnlySpan<NRange>)

Vytvoří řez z daného rozsahu.

ToString()

Pro Span<T>vrátí novou instanci řetězce, která představuje znaky, na které odkazuje rozsah. V opačném případě vrátí String s názvem typu a počtem prvků.

TryCopyTo(TensorSpan<T>)

Zkopíruje obsah tohoto rozsahu do cílového rozsahu. Pokud se zdroj a cíle překrývají, tato metoda se chová, jako by původní hodnoty v dočasném umístění před přepsání cíle.

TryFlattenTo(Span<T>)

Zploštěná obsah tohoto rozsahu do poskytnutého Span<T>.

Operátory

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

Vrátí hodnotu true, pokud levý a pravý bod ve stejné paměti a má stejnou délku. Všimněte si, že to nekontroluje, jestli se obsahu nerovná.

Implicit(T[] to TensorSpan<T>)

TensorSpan představuje souvislou oblast libovolné paměti. Na rozdíl od polí může odkazovat na spravovanou nebo nativní paměť nebo na paměť přidělenou v zásobníku. Jedná se o typově bezpečné a bezpečné pro paměť.

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

Převede TensorSpan<T> na ReadOnlyTensorSpan<T>.

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

Vrátí hodnotu false, pokud levý a pravý bod ve stejné paměti a má stejnou délku. Všimněte si, že to nekontroluje, jestli se obsahu nerovná.

Metody rozšíření

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

Vysílání dat z source do destination.

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

Aktualizuje tensor tensor s value, kde je filter pravdivý.

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

Aktualizuje tensor tensor s values, kde je filter pravdivý. Pokud dimenze nejsou stejné, je vyvolán výjimka.

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

Přetváření tensor tensoru na zadaný lengths. Pokud je jedna z délek -1, vypočítá se automaticky. Nezmění délku podkladové paměti ani nepřiděluje novou paměť. Pokud nový obrazec není kompatibilní se starým obrazcem, vyvolá se výjimka.

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

Určuje, zda jsou dvě sekvence stejné porovnáním prvků pomocí IEquatable{T}. Rovná se(T).

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

Nastaví řez daného tensor se zadanými values pro danou ranges

Squeeze<T>(TensorSpan<T>)

Odebere všechny rozměry délky jednoho z tensor.

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

Odebere osu délky 1 z tensor pro danou dimension. Pokud dimenze nemá délku, vyvolá výjimku.

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

Vytvoří String reprezentaci TensorSpan<T>." />

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

Vysílejte data z tensor na nejmenší vysílaný obrazec kompatibilní s destination a uloží je do destination Pokud obrazce nejsou kompatibilní, vrátí se false.

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

Vložte novou dimenzi o délce 1, která se zobrazí na pozici rozměru.

Platí pro