Vector<T> Struktur

Definition

Stellt einen einzelnen Vektor eines angegebenen numerischen Typs bereit, der für die Low-Level-Optimierung paralleler Algorithmen 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 primitiver numerischer Typ 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 festgelegt, ihre Obergrenze ist jedoch vom CPU-Register abhängig. Sie soll als Baustein zum Vektorisieren großer Algorithmen verwendet werden und kann daher nicht direkt als Vektor mit beliebiger Länge oder tensor verwendet werden.

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

Der Begriff primitiver numerischer Datentyp in diesem Artikel bezieht sich auf numerische Datentypen, die direkt von der CPU unterstützt werden und Anweisungen enthalten, die diese Datentypen bearbeiten können.

Konstruktoren

Vector<T>(ReadOnlySpan<Byte>)

Erstellt einen Vektor aus der angegebenen schreibgeschützten Spanne von Bytes.

Vector<T>(ReadOnlySpan<T>)

Erstellt einen Vektor aus dem angegebenen ReadOnlySpan<T>.

Vector<T>(Span<T>)

Erstellt einen Vektor aus dem angegebenen Span<T>.

Vector<T>(T)

Erstellt einen Vektor, dessen Komponenten einem bestimmten Typ entsprechen.

Vector<T>(T[])

Erstellt einen Vektor aus einem angegebenen Array.

Vector<T>(T[], Int32)

Erstellt einen Vektor aus einem Array beginnend bei einer angegebenen Indexposition.

Eigenschaften

AllBitsSet

Ruft eine neue Vector<T> ab, wobei alle Bits auf 1 festgelegt sind.

Count

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

Indices

Stellt einen einzelnen Vektor eines angegebenen numerischen Typs bereit, der für die Low-Level-Optimierung paralleler Algorithmen geeignet ist.

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 ausschließlich Einsen enthält.

Zero

Gibt einen Vektor zurück, der ausschließlich Nullen enthält.

Methoden

CopyTo(Span<Byte>)

Kopiert den Vektor zum angegebenen Span<T>.

CopyTo(Span<T>)

Kopiert den Vektor zur angegebenen Spanne. .

CopyTo(T[])

Kopiert die Vektorinstanz in ein angegebenes Zielarray.

CopyTo(T[], Int32)

Kopiert die Vektorinstanz ab einer angegebenen Indexposition in ein angegebenes Zielarray.

Equals(Object)

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

Equals(Vector<T>)

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

GetHashCode()

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

ToString()

Gibt die Zeichenfolgendarstellung dieses Vektors in Standardformatierung zurück.

ToString(String)

Gibt die Zeichenfolgendarstellung dieses Vektors zurück und verwendet dazu die angegebene Formatierungszeichenfolge, um einzelne Elemente zu formatieren.

ToString(String, IFormatProvider)

Gibt die Zeichenfolgendarstellung dieses Vektors zurück und verwendet dazu die angegebene Formatierungszeichenfolge, um einzelne Elemente zu formatieren, sowie den angegebenen Formatanbieter, um kulturspezifische Formatierung zu definieren.

TryCopyTo(Span<Byte>)

Versucht, den Vektor in die angegebene Bytespanne zu kopieren.

TryCopyTo(Span<T>)

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

Operatoren

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

Addiert zwei Vektoren.

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

Gibt einen neuen Vektor zurück, indem für jedes Element in zwei Vektoren eine bitweise And-Operation durchgeführt wird.

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

Gibt einen neuen Vektor zurück, indem für jedes Element in zwei Vektoren eine bitweise Or-Operation durchgeführt wird.

Division(Vector<T>, T)

Dividiert einen Vektor durch einen Skalar, um den Elementquotienten zu berechnen.

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

Dividiert den ersten Vektor durch den zweiten.

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 für jedes Element in zwei Vektoren eine bitweise XOr-Operation durchgeführt wird.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs Byte um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs Double um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs Int16 um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs Int32 um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs Int64 um.

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

Interpretiert die Bits eines Quellvektors neu in einen Vektor mit ganzzahligen Zahlen in nativer Größe.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs SByte um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs Single um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs UInt16 um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs UInt32 um.

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

Interpretiert die Bits des angegebenen Vektors in einen Vektor des Typs UInt64 um.

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

Interpretiert die Bits eines Quellvektors in einen Vektor mit ganzzahligen Zahlen ohne Vorzeichen neu.

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

Gibt einen Wert zurück, der angibt, ob jedes 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 dem Produkt der einzelnen Elementpaare in zwei angegebenen Vektoren entsprechen.

OnesComplement(Vector<T>)

Gibt einen neuen Vektor zurück, dessen Elemente sich aus dem Einerkomplement der Elemente eines angegebenen Vektors ergeben.

RightShift(Vector<T>, Int32)

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

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

Subtrahiert den zweiten Vektor vom ersten.

UnaryNegation(Vector<T>)

Negiert einen angegebenen Vektor.

UnaryPlus(Vector<T>)

Gibt einen angegebenen Vektor unverändert zurück.

UnsignedRightShift(Vector<T>, Int32)

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

Erweiterungsmethoden

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

Interpretiert einen Vector<T> als neuen 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>)

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

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

Erstellt eine neue Vector<T>-Struktur, wobei das Element beim angegebenen Index auf den angegebenen Wert und die übrigen Elemente auf den gleichen Wert wie im angegebenen Vektor gesetzt werden.

AsVector128<T>(Vector<T>)

Interpretiert einen Vector<T> als neuen Vector128<T> neu.

AsVector256<T>(Vector<T>)

Interpretiert einen Vector<T> als neuen Vector256<T> neu.

AsVector512<T>(Vector<T>)

Interpretiert einen Vector<T> als neuen Vector512<T> neu.

Gilt für: