Compartir vía


Vector<T> Estructura

Definición

Representa un único vector de un tipo numérico especificado que es adecuado para la optimización de bajo nivel de algoritmos paralelos.

generic <typename T>
 where T : value classpublic value class Vector : IEquatable<System::Numerics::Vector<T>>, IFormattable
generic <typename T>
public value class Vector : IEquatable<System::Numerics::Vector<T>>, IFormattable
public struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable
type Vector<'T (requires 'T : struct)> = struct
    interface IFormattable
type Vector<'T> = struct
    interface IFormattable
Public Structure Vector(Of T)
Implements IEquatable(Of Vector(Of T)), IFormattable

Parámetros de tipo

T

Tipo de los elementos del vector. T puede ser cualquier tipo numérico primitivo.

Herencia
Vector<T>
Implementaciones

Comentarios

Vector<T> es una estructura inmutable que representa un único vector de un tipo numérico especificado. El recuento de instancias de Vector<T> es fijo, pero su límite superior depende del registro de CPU. Está pensado para usarse como un bloque de creación para vectorizar algoritmos grandes y, por lo tanto, no se puede usar directamente como vector de longitud arbitraria o tensor.

La estructura Vector<T> proporciona compatibilidad con la aceleración de hardware.

El término tipo de datos numérico primitivo en este artículo hace referencia a tipos de datos numéricos que son compatibles directamente con la CPU y tienen instrucciones que pueden manipular esos tipos de datos.

Constructores

Vector<T>(ReadOnlySpan<Byte>)

Construye un vector a partir del intervalo de bytes de solo lectura especificado.

Vector<T>(ReadOnlySpan<T>)

Construye un vector a partir del ReadOnlySpan<T>especificado.

Vector<T>(Span<T>)

Construye un vector a partir del Span<T>especificado.

Vector<T>(T)

Crea un vector cuyos componentes son de un tipo especificado.

Vector<T>(T[])

Crea un vector a partir de una matriz especificada.

Vector<T>(T[], Int32)

Crea un vector a partir de una matriz especificada a partir de una posición de índice especificada.

Propiedades

AllBitsSet

Obtiene un nuevo Vector<T> con todos los bits establecidos en 1.

Count

Devuelve el número de elementos almacenados en el vector.

Indices

Obtiene un nuevo Vector<T> con los elementos establecidos en su índice.

IsSupported

Obtiene un valor que indica si se admite T.

Item[Int32]

Obtiene el elemento en un índice especificado.

One

Devuelve un vector que contiene todos los.

Zero

Devuelve un vector que contiene todos los ceros.

Métodos

CopyTo(Span<Byte>)

Copia el vector en el Span<T>especificado.

CopyTo(Span<T>)

Copia el vector en el intervalo especificado. .

CopyTo(T[])

Copia la instancia de vector en una matriz de destino especificada.

CopyTo(T[], Int32)

Copia la instancia de vector en una matriz de destino especificada a partir de una posición de índice especificada.

Equals(Object)

Devuelve un valor que indica si esta instancia es igual a un objeto especificado.

Equals(Vector<T>)

Devuelve un valor que indica si esta instancia es igual a un vector especificado.

GetHashCode()

Devuelve el código hash de esta instancia.

ToString()

Devuelve la representación de cadena de este vector mediante el formato predeterminado.

ToString(String)

Devuelve la representación de cadena de este vector utilizando la cadena de formato especificada para dar formato a elementos individuales.

ToString(String, IFormatProvider)

Devuelve la representación de cadena de este vector utilizando la cadena de formato especificada para dar formato a elementos individuales y al proveedor de formato especificado para definir el formato específico de la referencia cultural.

TryCopyTo(Span<Byte>)

Intenta copiar el vector en el intervalo de bytes especificado.

TryCopyTo(Span<T>)

Intenta copiar el vector en el Span<T>especificado.

Operadores

Addition(Vector<T>, Vector<T>)

Agrega dos vectores juntos.

BitwiseAnd(Vector<T>, Vector<T>)

Devuelve un nuevo vector realizando una operación And bit a bit en cada uno de los elementos de dos vectores.

BitwiseOr(Vector<T>, Vector<T>)

Devuelve un nuevo vector realizando una operación Or bit a bit en cada uno de los elementos de dos vectores.

Division(Vector<T>, T)

Divide un vector por un escalar para calcular el cociente por elemento.

Division(Vector<T>, Vector<T>)

Divide el primer vector por segundo.

Equality(Vector<T>, Vector<T>)

Devuelve un valor que indica si cada par de elementos de dos vectores especificados es igual.

ExclusiveOr(Vector<T>, Vector<T>)

Devuelve un nuevo vector realizando una operación XOr bit a bit en cada uno de los elementos de dos vectores.

Explicit(Vector<T> to Vector<Byte>)

Reinterpreta los bits del vector especificado en un vector de tipo Byte.

Explicit(Vector<T> to Vector<Double>)

Reinterpreta los bits del vector especificado en un vector de tipo Double.

Explicit(Vector<T> to Vector<Int16>)

Reinterpreta los bits del vector especificado en un vector de tipo Int16.

Explicit(Vector<T> to Vector<Int32>)

Reinterpreta los bits del vector especificado en un vector de tipo Int32.

Explicit(Vector<T> to Vector<Int64>)

Reinterpreta los bits del vector especificado en un vector de tipo Int64.

Explicit(Vector<T> to Vector<IntPtr>)

Reinterpreta los bits de un vector de origen en un vector de enteros de tamaño nativo.

Explicit(Vector<T> to Vector<SByte>)

Reinterpreta los bits del vector especificado en un vector de tipo SByte.

Explicit(Vector<T> to Vector<Single>)

Reinterpreta los bits del vector especificado en un vector de tipo Single.

Explicit(Vector<T> to Vector<UInt16>)

Reinterpreta los bits del vector especificado en un vector de tipo UInt16.

Explicit(Vector<T> to Vector<UInt32>)

Reinterpreta los bits del vector especificado en un vector de tipo UInt32.

Explicit(Vector<T> to Vector<UInt64>)

Reinterpreta los bits del vector especificado en un vector de tipo UInt64.

Explicit(Vector<T> to Vector<UIntPtr>)

Reinterpreta los bits de un vector de origen en un vector de enteros de tamaño nativo sin signo.

Inequality(Vector<T>, Vector<T>)

Devuelve un valor que indica si cualquier par único de elementos de los vectores especificados es igual.

LeftShift(Vector<T>, Int32)

Desplaza cada elemento de un vector a la izquierda por la cantidad especificada.

Multiply(T, Vector<T>)

Multiplica un vector por un valor escalar especificado.

Multiply(Vector<T>, T)

Multiplica un vector por un valor escalar especificado.

Multiply(Vector<T>, Vector<T>)

Devuelve un nuevo vector cuyos valores son el producto de cada par de elementos en dos vectores especificados.

OnesComplement(Vector<T>)

Devuelve un nuevo vector cuyos elementos se obtienen tomando el complemento de uno de los elementos de un vector especificado.

RightShift(Vector<T>, Int32)

Desplaza (firmado) cada elemento de un vector a la derecha por la cantidad especificada.

Subtraction(Vector<T>, Vector<T>)

Resta el segundo vector del primero.

UnaryNegation(Vector<T>)

Niega un vector determinado.

UnaryPlus(Vector<T>)

Devuelve un vector determinado sin cambios.

UnsignedRightShift(Vector<T>, Int32)

Desplaza (sin signo) cada elemento de un vector derecho por la cantidad especificada.

Métodos de extensión

As<TFrom,TTo>(Vector<TFrom>)

Reinterpreta un Vector<T> como un nuevo Vector<T>.

GetElement<T>(Vector<T>, Int32)

Obtiene el elemento en el índice especificado.

Store<T>(Vector<T>, T*)

Almacena un vector en el destino especificado.

StoreAligned<T>(Vector<T>, T*)

Almacena un vector en el destino alineado dado.

StoreAlignedNonTemporal<T>(Vector<T>, T*)

Almacena un vector en el destino alineado dado.

StoreUnsafe<T>(Vector<T>, T)

Almacena un vector en el destino especificado.

StoreUnsafe<T>(Vector<T>, T, UIntPtr)

Almacena un vector en el destino especificado.

ToScalar<T>(Vector<T>)

Convierte el vector especificado en un escalar que contiene el valor del primer elemento.

WithElement<T>(Vector<T>, Int32, T)

Crea un nuevo Vector<T> con el elemento en el índice especificado establecido en el valor especificado y los elementos restantes establecidos en el mismo valor que en el vector especificado.

AsVector128<T>(Vector<T>)

Reinterpreta un Vector<T> como un nuevo Vector128<T>.

AsVector256<T>(Vector<T>)

Reinterpreta un Vector<T> como un nuevo Vector256<T>.

AsVector512<T>(Vector<T>)

Reinterpreta un Vector<T> como un nuevo Vector512<T>.

Se aplica a