Partilhar via


ReadOnlyTensorSpan<T> Estrutura

Definição

ReadOnlyTensorSpan representa uma região contígua de memória arbitrária. Ao contrário das matrizes, ela pode apontar para memória gerenciada ou nativa ou para a memória alocada na pilha. Ele é seguro de tipo e de memória.

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

Parâmetros de tipo

T
Herança
ReadOnlyTensorSpan<T>
Atributos

Construtores

ReadOnlyTensorSpan<T>(Array)

Cria um novo ReadOnlyTensorSpan<T> no Arrayfornecido. O novo ReadOnlyTensorSpan<T> terá uma classificação de 1 e um comprimento igual ao comprimento da Arrayfornecida.

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

Cria um novo ReadOnlyTensorSpan<T> sobre o Array fornecido usando os deslocamentos, comprimentos e passos de início especificados. Se os passos não forem fornecidos, eles serão calculados automaticamente.

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

Cria um novo ReadOnlyTensorSpan<T> sobre o Array fornecido usando os deslocamentos, comprimentos e passos de início especificados. Se os passos não forem fornecidos, eles serão calculados automaticamente.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Cria um novo ReadOnlyTensorSpan<T> no ReadOnlySpan<T>fornecido. O novo ReadOnlyTensorSpan<T> terá uma classificação de 1 e um comprimento igual ao comprimento da ReadOnlySpan<T>fornecida.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Cria uma nova ReadOnlyTensorSpan<T> sobre a Span<T> fornecida usando os comprimentos e passos especificados. Se os passos não forem fornecidos, eles serão calculados automaticamente.

ReadOnlyTensorSpan<T>(T*, IntPtr)

Cria um novo intervalo sobre o buffer não gerenciado de destino. Claramente isso é bastante perigoso o comprimento não é verificado. Mas se essa criação estiver correta, todos os usos subsequentes estarão corretos.

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

Cria um novo intervalo sobre o buffer não gerenciado de destino. Claramente isso é bastante perigoso, porque o comprimento não é verificado. Mas se essa criação estiver correta, todos os usos subsequentes estarão corretos.

ReadOnlyTensorSpan<T>(T[])

Cria um novo intervalo em toda a matriz de destino.

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

Cria um novo intervalo sobre a parte da matriz de destino começando no índice 'start' e terminando no índice 'end' (exclusivo).

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

Cria um novo intervalo sobre a parte da matriz de destino começando no índice 'start' e terminando no índice 'end' (exclusivo).

Propriedades

Empty

Retorna um intervalo somente leitura de 0 comprimento cuja base é o ponteiro nulo.

FlattenedLength

O número de itens no intervalo.

IsEmpty

Obtém um valor que indica se esse TensorSpan<T> está vazio.

Item[ReadOnlySpan<IntPtr>]

Retorna uma referência ao elemento especificado do ReadOnlyTensorSpan.

Item[ReadOnlySpan<NIndex>]

Retorna uma referência ao elemento especificado do ReadOnlyTensorSpan.

Item[ReadOnlySpan<NRange>]

Retorna uma fatia do ReadOnlyTensorSpan.

Lengths

Obtém o comprimento de cada dimensão neste TensorSpan<T>.

Rank

Obtém a classificação, também conhecida como o número de dimensões, deste TensorSpan<T>.

Strides

Obtém os passos desta TensorSpan<T>

Métodos

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

Converte um intervalo somente leitura de TDerived em um intervalo somente leitura de T.

CopyTo(TensorSpan<T>)

Copia o conteúdo desse intervalo somente leitura no intervalo de destino. Se a origem e os destinos se sobrepõem, esse método se comportará como se os valores originais em um local temporário antes do destino ser substituído.

Equals(Object)
Obsoleto.

Não há suporte para esse método, pois os intervalos não podem ser encaixoados. Para comparar dois intervalos, use operator==.

FlattenTo(Span<T>)

Nivela o conteúdo desse intervalo no Span<T>fornecido.

GetEnumerator()

Obtém um enumerador para esse intervalo.

GetHashCode()
Obsoleto.

Não há suporte para esse método, pois os intervalos não podem ser encaixoados.

GetPinnableReference()

Retorna uma referência ao 0º elemento do ReadOnlyTensorSpan. Se o ReadOnlyTensorSpan estiver vazio, retornará uma referência nula. Ele pode ser usado para fixação e é necessário para dar suporte ao uso do intervalo dentro de uma instrução fixa.

Slice(ReadOnlySpan<NIndex>)

Retorna uma referência ao elemento especificado do TensorSpan.

Slice(ReadOnlySpan<NRange>)

Forma uma fatia do intervalo determinado

ToString()

Retorna um String com o nome do tipo e o número de elementos.

TryCopyTo(TensorSpan<T>)

Copia o conteúdo desse intervalo somente leitura no intervalo de destino. Se a origem e os destinos se sobrepõem, esse método se comportará como se os valores originais em um local temporário antes do destino ser substituído.

TryFlattenTo(Span<T>)

Nivela o conteúdo desse intervalo no Span<T>fornecido.

Operadores

Equality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Retorna true se o ponto à esquerda e à direita na mesma memória e tem o mesmo comprimento. Observe que isso não verificar se o conteúdo são iguais.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan representa uma região contígua de memória arbitrária. Ao contrário das matrizes, ela pode apontar para memória gerenciada ou nativa ou para a memória alocada na pilha. Ele é seguro de tipo e de memória.

Inequality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Retorna false se o ponto à esquerda e à direita na mesma memória e tem o mesmo comprimento. Observe que isso não verificar se o conteúdo são iguais.

Métodos de Extensão

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

Difunda os dados de source para destination.

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

Remodela o tensor de tensor para o lengthsespecificado. Se um dos comprimentos for -1, ele será calculado automaticamente. Não altera o comprimento da memória subjacente nem aloca nova memória. Se a nova forma não for compatível com a forma antiga, uma exceção será gerada.

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

Determina se duas sequências são iguais comparando os elementos usando IEquatable{T}. Equals(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

Remove todas as dimensões de comprimento um do tensor.

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

Remove o eixo de comprimento um do tensor para o dimensiondeterminado. Se a dimensão não for de comprimento um, ela gerará uma exceção.

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

Cria uma representação String do ReadOnlyTensorSpan<T>." />

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

Transmita os dados de tensor para a menor forma difundível compatível com destination e armazene-os em destination Se as formas não forem compatíveis, false será retornado.

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

Insira uma nova dimensão de comprimento 1 que aparecerá na posição da dimensão.

Aplica-se a