Compartir vía


ReadOnlyTensorSpan<T> Estructura

Definición

ReadOnlyTensorSpan representa una región contigua de memoria arbitraria. A diferencia de las matrices, puede apuntar a la memoria administrada o nativa, o a la memoria asignada en la pila. Es seguro para tipos y seguro para memoria.

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
Herencia
ReadOnlyTensorSpan<T>
Atributos

Constructores

ReadOnlyTensorSpan<T>(Array)

Crea un nuevo ReadOnlyTensorSpan<T> en el Arrayproporcionado. El nuevo ReadOnlyTensorSpan<T> tendrá un rango de 1 y una longitud igual a la longitud del Arrayproporcionado.

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

Crea un nuevo ReadOnlyTensorSpan<T> sobre el Array proporcionado mediante los desplazamientos de inicio, las longitudes y los pasos especificados. Si no se proporcionan los pasos, se calcularán automáticamente.

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

Crea un nuevo ReadOnlyTensorSpan<T> sobre el Array proporcionado mediante los desplazamientos de inicio, las longitudes y los pasos especificados. Si no se proporcionan los pasos, se calcularán automáticamente.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Crea un nuevo ReadOnlyTensorSpan<T> en el ReadOnlySpan<T>proporcionado. El nuevo ReadOnlyTensorSpan<T> tendrá un rango de 1 y una longitud igual a la longitud del ReadOnlySpan<T>proporcionado.

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

Crea un nuevo ReadOnlyTensorSpan<T> sobre el Span<T> proporcionado mediante las longitudes y los pasos especificados. Si no se proporcionan los pasos, se calcularán automáticamente.

ReadOnlyTensorSpan<T>(T*, IntPtr)

Crea un nuevo intervalo sobre el búfer no administrado de destino. Claramente esto es bastante peligroso, no se comprueba la longitud. Pero si esta creación es correcta, todos los usos posteriores son correctos.

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

Crea un nuevo intervalo sobre el búfer no administrado de destino. Claramente esto es bastante peligroso, porque la longitud no se comprueba. Pero si esta creación es correcta, todos los usos posteriores son correctos.

ReadOnlyTensorSpan<T>(T[])

Crea un nuevo intervalo en toda la matriz de destino.

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

Crea un nuevo intervalo sobre la parte de la matriz de destino que comienza en el índice "start" y termina en el índice "end" (exclusivo).

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

Crea un nuevo intervalo sobre la parte de la matriz de destino que comienza en el índice "start" y termina en el índice "end" (exclusivo).

Propiedades

Empty

Devuelve un intervalo de solo lectura de longitud 0 cuya base es el puntero nulo.

FlattenedLength

Número de elementos del intervalo.

IsEmpty

Obtiene un valor que indica si este TensorSpan<T> está vacío.

Item[ReadOnlySpan<IntPtr>]

Devuelve una referencia al elemento especificado de ReadOnlyTensorSpan.

Item[ReadOnlySpan<NIndex>]

Devuelve una referencia al elemento especificado de ReadOnlyTensorSpan.

Item[ReadOnlySpan<NRange>]

Devuelve un segmento de ReadOnlyTensorSpan.

Lengths

Obtiene la longitud de cada dimensión de este TensorSpan<T>.

Rank

Obtiene el rango, también conocido como el número de dimensiones, de este TensorSpan<T>.

Strides

Obtiene los pasos de este TensorSpan<T>

Métodos

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

Convierte un intervalo de solo lectura de TDerived en un intervalo de solo lectura de T.

CopyTo(TensorSpan<T>)

Copia el contenido de este intervalo de solo lectura en el intervalo de destino. Si el origen y los destinos se superponen, este método se comporta como si los valores originales de una ubicación temporal antes de sobrescribir el destino.

Equals(Object)
Obsoletos.

Este método no se admite, ya que no se pueden boxing los intervalos. Para comparar dos intervalos, use operator==.

FlattenTo(Span<T>)

Aplana el contenido de este intervalo en el Span<T>proporcionado.

GetEnumerator()

Obtiene un enumerador para este intervalo.

GetHashCode()
Obsoletos.

Este método no se admite, ya que no se pueden boxing los intervalos.

GetPinnableReference()

Devuelve una referencia al 0º elemento de ReadOnlyTensorSpan. Si ReadOnlyTensorSpan está vacío, devuelve una referencia nula. Se puede usar para anclar y es necesario para admitir el uso de span dentro de una instrucción fija.

Slice(ReadOnlySpan<NIndex>)

Devuelve una referencia al elemento especificado de TensorSpan.

Slice(ReadOnlySpan<NRange>)

Forma un segmento fuera del intervalo especificado

ToString()

Devuelve un String con el nombre del tipo y el número de elementos.

TryCopyTo(TensorSpan<T>)

Copia el contenido de este intervalo de solo lectura en el intervalo de destino. Si el origen y los destinos se superponen, este método se comporta como si los valores originales de una ubicación temporal antes de sobrescribir el destino.

TryFlattenTo(Span<T>)

Aplana el contenido de este intervalo en el Span<T>proporcionado.

Operadores

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

Devuelve true si el punto izquierdo y derecho en la misma memoria y tienen la misma longitud. Tenga en cuenta que esto no comprobar si el contenido del es igual.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan representa una región contigua de memoria arbitraria. A diferencia de las matrices, puede apuntar a la memoria administrada o nativa, o a la memoria asignada en la pila. Es seguro para tipos y seguro para memoria.

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

Devuelve false si el punto izquierdo y derecho están en la misma memoria y tienen la misma longitud. Tenga en cuenta que esto no comprobar si el contenido del es igual.

Métodos de extensión

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

Difunda los datos de source a destination.

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

Vuelve a dar forma al tensor de tensor al lengthsespecificado. Si una de las longitudes es -1, se calculará automáticamente. No cambia la longitud de la memoria subyacente ni asigna nueva memoria. Si la nueva forma no es compatible con la forma anterior, se produce una excepción.

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

Determina si dos secuencias son iguales comparando los elementos mediante IEquatable{T}. Equals(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

Quita todas las dimensiones de longitud uno de la tensor.

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

Quita el eje de longitud uno de los tensor del dimensionespecificado. Si la dimensión no es de longitud, se producirá una excepción.

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

Crea una representación String del ReadOnlyTensorSpan<T>". />

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

Difunda los datos de tensor a la forma más pequeña compatible con destination y la almacena en destination Si las formas no son compatibles, se devuelve false.

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

Inserte una nueva dimensión de longitud 1 que aparecerá en la posición de la dimensión.

Se aplica a