TensorSpan<T> Estrutura
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
TensorSpan 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 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)
Parâmetros de tipo
- T
- Herança
- Atributos
Construtores
TensorSpan<T>(Array) |
Cria um novo TensorSpan<T> no Arrayfornecido. O novo TensorSpan<T> terá uma classificação de 1 e um comprimento igual ao comprimento da Arrayfornecida. |
TensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Cria um novo TensorSpan<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. |
TensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Cria um novo TensorSpan<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. |
TensorSpan<T>(Span<T>) |
Cria um novo TensorSpan<T> no Span<T>fornecido. O novo TensorSpan<T> terá uma classificação de 1 e um comprimento igual ao comprimento da Span<T>fornecida. |
TensorSpan<T>(Span<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Cria uma nova TensorSpan<T> sobre a Span<T> fornecida usando os comprimentos e passos especificados. Se os passos não forem fornecidos, eles serão calculados automaticamente. |
TensorSpan<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. |
TensorSpan<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. |
TensorSpan<T>(T[]) |
Cria um novo intervalo em toda a matriz de destino. |
TensorSpan<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). |
TensorSpan<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 TensorSpan<T> vazio |
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 TensorSpan. |
Item[ReadOnlySpan<NIndex>] |
Retorna uma referência ao elemento especificado do TensorSpan. |
Item[ReadOnlySpan<NRange>] |
Retorna uma fatia do TensorSpan. |
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
Clear() |
Limpa o conteúdo desse intervalo. |
CopyTo(TensorSpan<T>) |
Copia o conteúdo desse intervalo para o 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==. |
Fill(T) |
Preenche o conteúdo desse intervalo com o valor fornecido. |
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 TensorSpan. Se o TensorSpan estiver vazio, retornará 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() |
Para Span<T>, retorna uma nova instância de cadeia de caracteres que representa os caracteres apontados pelo intervalo. Caso contrário, retorna um String com o nome do tipo e o número de elementos. |
TryCopyTo(TensorSpan<T>) |
Copia o conteúdo desse intervalo para o 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(TensorSpan<T>, TensorSpan<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 TensorSpan<T>) |
TensorSpan 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. |
Implicit(TensorSpan<T> to ReadOnlyTensorSpan<T>) |
Converte um TensorSpan<T> em um ReadOnlyTensorSpan<T>. |
Inequality(TensorSpan<T>, TensorSpan<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>(TensorSpan<T>, TensorSpan<T>) |
Difunda os dados de |
FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, T) |
Atualiza o tensor |
FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, ReadOnlyTensorSpan<T>) |
Atualiza o tensor |
Reshape<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>) |
Remodela o tensor de |
SequenceEqual<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>) |
Determina se duas sequências são iguais comparando os elementos usando IEquatable{T}. Equals(T). |
SetSlice<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>, ReadOnlySpan<NRange>) |
Define uma fatia da |
Squeeze<T>(TensorSpan<T>) |
Remove todas as dimensões de comprimento um do |
SqueezeDimension<T>(TensorSpan<T>, Int32) |
Remove o eixo de comprimento um do |
ToString<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>) |
Cria uma representação String do TensorSpan<T>." /> |
TryBroadcastTo<T>(TensorSpan<T>, TensorSpan<T>) |
Transmita os dados de |
Unsqueeze<T>(TensorSpan<T>, Int32) |
Insira uma nova dimensão de comprimento 1 que aparecerá na posição da dimensão. |