Vector<T> Estructura

Definición

Representa un vector único 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 Vector<T> instancias 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 un vector de longitud arbitraria o tensor.

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

El término tipo de datos numérico primitivo de 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 dado.

Vector<T>(ReadOnlySpan<T>)

Construye un vector a partir del objeto ReadOnlySpan<T> dado.

Vector<T>(Span<T>)

Construye un vector a partir del objeto Span<T> dado.

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 comenzando en una posición de índice especificada.

Propiedades

AllBitsSet

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

Count

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

Indices

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

IsSupported

Obtiene un valor que indica si T se admite.

Item[Int32]

Obtiene el elemento situado en un índice especificado.

One

Devuelve un vector que únicamente contiene unos.

Zero

Devuelve un vector que únicamente contiene ceros.

Métodos

CopyTo(Span<Byte>)

Copia el vector en el objeto Span<T> dado.

CopyTo(Span<T>)

Copia el vector en el intervalo determinado. .

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 que un objeto especificado.

Equals(Vector<T>)

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

GetHashCode()

Devuelve el código hash de esta instancia.

ToString()

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

ToString(String)

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

ToString(String, IFormatProvider)

Devuelve la representación de cadena de este vector usando la cadena de formato especificada para dar formato a los elementos individuales y el 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 objeto Span<T> dado.

Operadores

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

Suma dos vectores.

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 entre el segundo.

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

Devuelve un valor que indica si cada par de elementos de los dos vectores especificados son iguales.

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 del tipo Byte.

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

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

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

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

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

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

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

Reinterpreta los bits del vector especificado en un vector del 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 del tipo SByte.

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

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

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

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

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

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

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

Reinterpreta los bits del vector especificado en un vector del 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 cada par 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 de 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>)

Convierte en negativo un vector concreto.

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 elemento Vector<T> como un nuevo elemento 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 especificado.

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

Almacena un vector en el destino alineado especificado.

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 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 elemento Vector<T> como un nuevo elemento Vector128<T>.

AsVector256<T>(Vector<T>)

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

AsVector512<T>(Vector<T>)

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

Se aplica a