TensorSpan<T> Yapı

Tanım

TensorSpan, rastgele belleğin bitişik bir bölgesini temsil eder. Dizilerden farklı olarak, yönetilen veya yerel belleğe veya yığında ayrılan belleğe işaret edebilir. Tür ve bellek açısından güvenlidir.

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ür Parametreleri

T
Devralma
TensorSpan<T>
Öznitelikler

Oluşturucular

TensorSpan<T>(Array)

Sağlanan Arrayüzerinde yeni bir TensorSpan<T> oluşturur. Yeni TensorSpan<T> 1 derecesine ve sağlanan Arrayuzunluğuna eşit bir uzunluğa sahip olur.

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

Belirtilen başlangıç uzaklıklarını, uzunluklarını ve adımlarını kullanarak sağlanan Array üzerinde yeni bir TensorSpan<T> oluşturur. Adımlar sağlanmazsa otomatik olarak hesaplanır.

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

Belirtilen başlangıç uzaklıklarını, uzunluklarını ve adımlarını kullanarak sağlanan Array üzerinde yeni bir TensorSpan<T> oluşturur. Adımlar sağlanmazsa otomatik olarak hesaplanır.

TensorSpan<T>(Span<T>)

Sağlanan Span<T>üzerinde yeni bir TensorSpan<T> oluşturur. Yeni TensorSpan<T> 1 derecesine ve sağlanan Span<T>uzunluğuna eşit bir uzunluğa sahip olur.

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

Belirtilen uzunlukları ve adımları kullanarak sağlanan Span<T> üzerinde yeni bir TensorSpan<T> oluşturur. Adımlar sağlanmazsa otomatik olarak hesaplanır.

TensorSpan<T>(T*, IntPtr)

Hedef yönetilmeyen arabellek üzerinde yeni bir yayılma alanı oluşturur. Açıkçası bu, uzunluğun kontrol edilmemesi oldukça tehlikelidir. Ancak bu oluşturma işlemi doğruysa, sonraki tüm kullanımlar doğru olur.

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

Hedef yönetilmeyen arabellek üzerinde yeni bir yayılma alanı oluşturur. Açıkçası bu oldukça tehlikelidir, çünkü uzunluk kontrol edilmez. Ancak bu oluşturma işlemi doğruysa, sonraki tüm kullanımlar doğru olur.

TensorSpan<T>(T[])

Hedef dizinin tamamı boyunca yeni bir yayılma alanı oluşturur.

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

Hedef dizinin 'start' dizininden başlayıp 'end' dizininde (hariç) biten bölümü üzerinde yeni bir yayılma alanı oluşturur.

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

Hedef dizinin 'start' dizininden başlayıp 'end' dizininde (hariç) biten bölümü üzerinde yeni bir yayılma alanı oluşturur.

Özellikler

Empty

Boş bir TensorSpan<T> döndürür

FlattenedLength

Yayılma alanı içindeki öğe sayısı.

IsEmpty

Bu TensorSpan<T> boş olup olmadığını gösteren bir değer alır.

Item[ReadOnlySpan<IntPtr>]

TensorSpan'ın belirtilen öğesine başvuru döndürür.

Item[ReadOnlySpan<NIndex>]

TensorSpan'ın belirtilen öğesine başvuru döndürür.

Item[ReadOnlySpan<NRange>]

TensorSpan'ın bir dilimini döndürür.

Lengths

Bu TensorSpan<T>her boyutun uzunluğunu alır.

Rank

Bu TensorSpan<T>derecesini( diğer adıyla boyut sayısını) alır.

Strides

Bu TensorSpan<T> adımlarını alır

Yöntemler

Clear()

Bu yayılma alanının içeriğini temizler.

CopyTo(TensorSpan<T>)

Bu yayılma alanının içeriğini hedef yayılma alanına kopyalar. Kaynak ve hedefler çakışıyorsa, bu yöntem hedef üzerine yazılmadan önce geçici bir konumdaki özgün değerlerin gibi davranır.

Equals(Object)
Geçersiz.

Bu yöntem, span'lar kutulanamadığı için desteklenmez. İki aralığı karşılaştırmak için operator== kullanın.

Fill(T)

Bu yayılma alanının içeriğini verilen değerle doldurur.

FlattenTo(Span<T>)

Bu yayılma alanının içeriğini sağlanan Span<T>düzleştirir.

GetEnumerator()

Bu yayılma alanı için bir numaralandırıcı alır.

GetHashCode()
Geçersiz.

Bu yöntem, span'lar kutulanamadığı için desteklenmez.

GetPinnableReference()

TensorSpan'ın 0. öğesine başvuru döndürür. TensorSpan boşsa null başvuru döndürür. Sabitleme için kullanılabilir ve sabit bir deyim içinde span kullanımını desteklemek için gereklidir.

Slice(ReadOnlySpan<NIndex>)

TensorSpan'ın belirtilen öğesine başvuru döndürür.

Slice(ReadOnlySpan<NRange>)

Verilen aralığın dışında bir dilim oluşturur

ToString()

Span<T>için, yayılma alanının işaret ettiği karakterleri temsil eden yeni bir dize örneği döndürür. Aksi takdirde, türün adını ve öğe sayısını içeren bir String döndürür.

TryCopyTo(TensorSpan<T>)

Bu yayılma alanının içeriğini hedef yayılma alanına kopyalar. Kaynak ve hedefler çakışıyorsa, bu yöntem hedef üzerine yazılmadan önce geçici bir konumdaki özgün değerlerin gibi davranır.

TryFlattenTo(Span<T>)

Bu yayılma alanının içeriğini sağlanan Span<T>düzleştirir.

İşleçler

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

Aynı bellekte sol ve sağ nokta varsa ve aynı uzunluktaysa true döndürür. Bunun içeriğinin eşit olup olmadığını denetlemediğini unutmayın.

Implicit(T[] to TensorSpan<T>)

TensorSpan, rastgele belleğin bitişik bir bölgesini temsil eder. Dizilerden farklı olarak, yönetilen veya yerel belleğe veya yığında ayrılan belleğe işaret edebilir. Tür ve bellek açısından güvenlidir.

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

bir TensorSpan<T>ReadOnlyTensorSpan<T>dönüştürür.

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

Aynı bellekte sol ve sağ nokta varsa ve aynı uzunluktaysa false döndürür. Bunun içeriğinin eşit olup olmadığını denetlemediğini unutmayın.

Uzantı Metotları

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

verileri source'den destination'e yayınlar.

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

tensor tensor'ını, filter doğru olduğu value güncelleştirir.

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

tensor tensor'ını, filter doğru olduğu values güncelleştirir. Boyutlar aynı değilse bir özel durum oluşturulur.

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

tensor tensor'ını belirtilen lengthsyeniden şekillendirer. Uzunluklardan biri -1 ise, otomatik olarak hesaplanır. Temel alınan belleğin uzunluğunu değiştirmez veya yeni bellek ayırmaz. Yeni şekil eski şekille uyumlu değilse bir özel durum oluşur.

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

IEquatable{T} kullanarak öğeleri karşılaştırarak iki dizinin eşit olup olmadığını belirler. Eşittir(T).

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

Verilen ranges için sağlanan values ile verilen tensor bir dilimini ayarlar

Squeeze<T>(TensorSpan<T>)

bir uzunluğundaki tüm boyutları tensorkaldırır.

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

Verilen dimensioniçin tensor bir uzunluk eksenini kaldırır. Boyut bir uzunluk değilse bir özel durum oluşturur.

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

TensorSpan<T> String bir gösterimi oluşturur." />

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

verileri tensordestination ile uyumlu en küçük yayınlanabilir şekle yayınlayın ve destination Şekiller uyumlu değilse false döndürülür.

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

Boyut konumunda görünecek 1 uzunluğunda yeni bir boyut ekleyin.

Şunlara uygulanır