Condividi tramite


Vector<T> Struct

Definizione

Rappresenta un singolo vettore di un tipo numerico specificato adatto per l'ottimizzazione di basso livello degli algoritmi paralleli.

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

Parametri di tipo

T

Tipo degli elementi nel vettore. T può essere qualsiasi tipo numerico primitivo.

Ereditarietà
Vector<T>
Implementazioni

Commenti

Vector<T> è una struttura non modificabile che rappresenta un singolo vettore di un tipo numerico specificato. Il numero di istanze di Vector<T> è fisso, ma il limite massimo è dipendente dal registro della CPU. È progettato per essere usato come blocco predefinito per la vettorizzazione di algoritmi di grandi dimensioni e pertanto non può essere usato direttamente come vettore di lunghezza arbitrario o tensore.

La struttura Vector<T> fornisce supporto per l'accelerazione hardware.

Il termine tipo di dati numerici primitivi in questo articolo fa riferimento a tipi di dati numerici direttamente supportati dalla CPU e hanno istruzioni che possono modificare tali tipi di dati.

Costruttori

Vector<T>(ReadOnlySpan<Byte>)

Costruisce un vettore dall'intervallo di byte di sola lettura specificato.

Vector<T>(ReadOnlySpan<T>)

Costruisce un vettore dall'ReadOnlySpan<T>specificato.

Vector<T>(Span<T>)

Costruisce un vettore dall'Span<T>specificato.

Vector<T>(T)

Crea un vettore i cui componenti sono di un tipo specificato.

Vector<T>(T[])

Crea un vettore da una matrice specificata.

Vector<T>(T[], Int32)

Crea un vettore da una matrice specificata a partire da una posizione di indice specificata.

Proprietà

AllBitsSet

Ottiene una nuova Vector<T> con tutti i bit impostati su 1.

Count

Restituisce il numero di elementi archiviati nel vettore.

Indices

Ottiene un nuovo Vector<T> con gli elementi impostati sul relativo indice.

IsSupported

Ottiene un valore che indica se T è supportato.

Item[Int32]

Ottiene l'elemento in corrispondenza di un indice specificato.

One

Restituisce un vettore contenente tutti quelli.

Zero

Restituisce un vettore contenente tutti gli zere.

Metodi

CopyTo(Span<Byte>)

Copia il vettore nel Span<T>specificato.

CopyTo(Span<T>)

Copia il vettore nell'intervallo specificato. .

CopyTo(T[])

Copia l'istanza del vettore in una matrice di destinazione specificata.

CopyTo(T[], Int32)

Copia l'istanza del vettore in una matrice di destinazione specificata a partire da una posizione di indice specificata.

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

Equals(Vector<T>)

Restituisce un valore che indica se questa istanza è uguale a un vettore specificato.

GetHashCode()

Restituisce il codice hash per questa istanza.

ToString()

Restituisce la rappresentazione di stringa di questo vettore utilizzando la formattazione predefinita.

ToString(String)

Restituisce la rappresentazione di stringa di questo vettore utilizzando la stringa di formato specificata per formattare singoli elementi.

ToString(String, IFormatProvider)

Restituisce la rappresentazione di stringa di questo vettore utilizzando la stringa di formato specificata per formattare singoli elementi e il provider di formato specificato per definire la formattazione specifica delle impostazioni cultura.

TryCopyTo(Span<Byte>)

Tenta di copiare il vettore nell'intervallo di byte specificato.

TryCopyTo(Span<T>)

Tenta di copiare il vettore nell'Span<T>specificato.

Operatori

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

Aggiunge due vettori insieme.

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

Restituisce un nuovo vettore eseguendo un'operazione di And bit per bit su ognuno degli elementi in due vettori.

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

Restituisce un nuovo vettore eseguendo un'operazione di Or bit per bit su ognuno degli elementi in due vettori.

Division(Vector<T>, T)

Divide un vettore per scalare per calcolare il quoziente per elemento.

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

Divide il primo vettore per il secondo.

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

Restituisce un valore che indica se ogni coppia di elementi in due vettori specificati è uguale.

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

Restituisce un nuovo vettore eseguendo un'operazione di XOr bit per bit su ognuno degli elementi in due vettori.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo Byte.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo Double.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo Int16.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo Int32.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo Int64.

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

Reinterpreta i bit di un vettore di origine in un vettore di interi di dimensioni native.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo SByte.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo Single.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo UInt16.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo UInt32.

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

Reinterpreta i bit del vettore specificato in un vettore di tipo UInt64.

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

Reinterpreta i bit di un vettore di origine in un vettore di interi senza segno di dimensioni native.

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

Restituisce un valore che indica se una singola coppia di elementi nei vettori specificati è uguale.

LeftShift(Vector<T>, Int32)

Sposta ogni elemento di un vettore a sinistra della quantità specificata.

Multiply(T, Vector<T>)

Moltiplica un vettore per un valore scalare specificato.

Multiply(Vector<T>, T)

Moltiplica un vettore per un valore scalare specificato.

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

Restituisce un nuovo vettore i cui valori sono il prodotto di ogni coppia di elementi in due vettori specificati.

OnesComplement(Vector<T>)

Restituisce un nuovo vettore i cui elementi vengono ottenuti prendendo il complemento di uno degli elementi di un vettore specificato.

RightShift(Vector<T>, Int32)

Sposta (con segno) ogni elemento di un vettore direttamente in base alla quantità specificata.

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

Sottrae il secondo vettore dal primo.

UnaryNegation(Vector<T>)

Nega un determinato vettore.

UnaryPlus(Vector<T>)

Restituisce un vettore specificato invariato.

UnsignedRightShift(Vector<T>, Int32)

Sposta (senza segno) ogni elemento di un vettore a destra dell'importo specificato.

Metodi di estensione

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

Reinterpreta un Vector<T> come nuovo Vector<T>.

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

Ottiene l'elemento in corrispondenza dell'indice specificato.

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

Archivia un vettore nella destinazione specificata.

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

Archivia un vettore nella destinazione allineata specificata.

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

Archivia un vettore nella destinazione allineata specificata.

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

Archivia un vettore nella destinazione specificata.

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

Archivia un vettore nella destinazione specificata.

ToScalar<T>(Vector<T>)

Converte il vettore specificato in un scalare contenente il valore del primo elemento.

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

Crea un nuovo Vector<T> con l'elemento in corrispondenza dell'indice specificato impostato sul valore specificato e gli elementi rimanenti impostati sullo stesso valore di quello nel vettore specificato.

AsVector128<T>(Vector<T>)

Reinterpreta un Vector<T> come nuovo Vector128<T>.

AsVector256<T>(Vector<T>)

Reinterpreta un Vector<T> come nuovo Vector256<T>.

AsVector512<T>(Vector<T>)

Reinterpreta un Vector<T> come nuovo Vector512<T>.

Si applica a