Freigeben über


Vector<T> Struktur

Definition

Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist.

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

Typparameter

T

Der Typ der Elemente im Vektor. T kann ein beliebiger numerischer Grundtyp sein.

Vererbung
Vector<T>
Implementiert

Hinweise

Vector<T> ist eine unveränderliche Struktur, die einen einzelnen Vektor eines angegebenen numerischen Typs darstellt. Die Anzahl der Vector<T> Instanzen ist behoben, aber ihre obere Grenze ist CPU-Register abhängig. Sie soll als Baustein für die Vektorisierung großer Algorithmen verwendet werden und kann daher nicht direkt als beliebiger Längenvektor oder Tensor verwendet werden.

Die Vector<T>-Struktur bietet Unterstützung für die Hardwarebeschleunigung.

Der Begriff primitiven numerischen Datentyp in diesem Artikel bezieht sich auf numerische Datentypen, die direkt von der CPU unterstützt werden und Anweisungen zum Bearbeiten dieser Datentypen haben.

Konstruktoren

Vector<T>(ReadOnlySpan<Byte>)

Erstellt einen Vektor aus der angegebenen schreibgeschützten Byte-Spanne.

Vector<T>(ReadOnlySpan<T>)

Erstellt einen Vektor aus der angegebenen ReadOnlySpan<T>.

Vector<T>(Span<T>)

Erstellt einen Vektor aus der angegebenen Span<T>.

Vector<T>(T)

Erstellt einen Vektor, dessen Komponenten einen angegebenen Typ aufweisen.

Vector<T>(T[])

Erstellt einen Vektor aus einem angegebenen Array.

Vector<T>(T[], Int32)

Erstellt einen Vektor aus einem angegebenen Array ab einer angegebenen Indexposition.

Eigenschaften

AllBitsSet

Ruft eine neue Vector<T> mit allen Bits, die auf 1 festgelegt sind.

Count

Gibt die Anzahl der im Vektor gespeicherten Elemente zurück.

Indices

Ruft eine neue Vector<T> mit den Elementen ab, die auf ihren Index festgelegt sind.

IsSupported

Ruft einen Wert ab, der angibt, ob T unterstützt wird.

Item[Int32]

Ruft das Element bei einem angegebenen Index ab.

One

Gibt einen Vektor zurück, der alle enthält.

Zero

Gibt einen Vektor zurück, der alle Nullen enthält.

Methoden

CopyTo(Span<Byte>)

Kopiert den Vektor in den angegebenen Span<T>.

CopyTo(Span<T>)

Kopiert den Vektor in die angegebene Spanne. .

CopyTo(T[])

Kopiert die Vektorinstanz in ein angegebenes Zielarray.

CopyTo(T[], Int32)

Kopiert die Vektorinstanz an ein angegebenes Zielarray, beginnend an einer angegebenen Indexposition.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

Equals(Vector<T>)

Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Vektor entspricht.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

ToString()

Gibt die Zeichenfolgendarstellung dieses Vektors mithilfe der Standardformatierung zurück.

ToString(String)

Gibt die Zeichenfolgendarstellung dieses Vektors mithilfe der angegebenen Formatzeichenfolge zurück, um einzelne Elemente zu formatieren.

ToString(String, IFormatProvider)

Gibt die Zeichenfolgendarstellung dieses Vektors mithilfe der angegebenen Formatzeichenfolge zurück, um einzelne Elemente und den angegebenen Formatanbieter zu formatieren, um kulturspezifische Formatierungen zu definieren.

TryCopyTo(Span<Byte>)

Versucht, den Vektor in die angegebene Bytespanne zu kopieren.

TryCopyTo(Span<T>)

Versucht, den Vektor in den angegebenen Span<T>zu kopieren.

Operatoren

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

Fügt zwei Vektoren zusammen.

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

Gibt einen neuen Vektor zurück, indem ein bitweiser And Vorgang für jedes element in zwei Vektoren ausgeführt wird.

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

Gibt einen neuen Vektor zurück, indem ein bitweiser Or Vorgang für jedes element in zwei Vektoren ausgeführt wird.

Division(Vector<T>, T)

Dividiert einen Vektor durch einen Skalar, um den Quotienten pro Element zu berechnen.

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

Dividiert den ersten Vektor durch die zweite.

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

Gibt einen Wert zurück, der angibt, ob jedes Elementpaar in zwei angegebenen Vektoren gleich ist.

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

Gibt einen neuen Vektor zurück, indem ein bitweiser XOr Vorgang für jedes element in zwei Vektoren ausgeführt wird.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ Byteneu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ Doubleneu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ Int16neu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ Int32neu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ Int64neu.

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

Interpretiert die Bits eines Quellvektors in einen Vektor der systemeigenen Ganzzahlen neu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ SByteneu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ Singleneu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ UInt16neu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ UInt32neu.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor vom Typ UInt64neu.

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

Interpretiert die Bits eines Quellvektors in einen Vektor der nativen ganzzahligen Größe neu.

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

Gibt einen Wert zurück, der angibt, ob ein einzelnes Elementpaar in den angegebenen Vektoren gleich ist.

LeftShift(Vector<T>, Int32)

Verschiebt jedes Element eines Vektors um den angegebenen Betrag nach links.

Multiply(T, Vector<T>)

Multipliziert einen Vektor mit einem angegebenen Skalarwert.

Multiply(Vector<T>, T)

Multipliziert einen Vektor mit einem angegebenen Skalarwert.

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

Gibt einen neuen Vektor zurück, dessen Werte das Produkt der einzelnen Elementepaare in zwei angegebenen Vektoren sind.

OnesComplement(Vector<T>)

Gibt einen neuen Vektor zurück, dessen Elemente abgerufen werden, indem die Ergänzung eines angegebenen Vektors verwendet wird.

RightShift(Vector<T>, Int32)

Verschiebt jedes Element eines Vektors um den angegebenen Betrag nach rechts (signiert).

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

Subtrahiert den zweiten Vektor vom ersten.

UnaryNegation(Vector<T>)

Hebt einen bestimmten Vektor auf.

UnaryPlus(Vector<T>)

Gibt einen bestimmten Vektor unverändert zurück.

UnsignedRightShift(Vector<T>, Int32)

Verschiebt jedes Element eines Vektors um den angegebenen Betrag nach rechts (ohne Vorzeichen).

Erweiterungsmethoden

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

Interpretiert eine Vector<T> als neue Vector<T>neu.

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

Ruft das Element am angegebenen Index ab.

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

Speichert einen Vektor am angegebenen Ziel.

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

Speichert einen Vektor am angegebenen ausgerichteten Ziel.

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

Speichert einen Vektor am angegebenen ausgerichteten Ziel.

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

Speichert einen Vektor am angegebenen Ziel.

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

Speichert einen Vektor am angegebenen Ziel.

ToScalar<T>(Vector<T>)

Wandelt den angegebenen Vektor in einen Skalar um, der den Wert des ersten Elements enthält.

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

Erstellt eine neue Vector<T> mit dem Element am angegebenen Indexsatz auf den angegebenen Wert und die verbleibenden Elemente, die auf denselben Wert wie im angegebenen Vektor festgelegt sind.

AsVector128<T>(Vector<T>)

Interpretiert eine Vector<T> als neue Vector128<T>neu.

AsVector256<T>(Vector<T>)

Interpretiert eine Vector<T> als neue Vector256<T>neu.

AsVector512<T>(Vector<T>)

Interpretiert eine Vector<T> als neue Vector512<T>neu.

Gilt für: