Vector<T> Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 |
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 |
BitwiseOr(Vector<T>, Vector<T>) |
Gibt einen neuen Vektor zurück, indem ein bitweiser |
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 |
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>) | |
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. |