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
public readonly struct Vector<T> : IEquatable<System.Numerics.Vector<T>>, IFormattable where T : struct
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 fest, aber ihre obere Grenze ist vom 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 "primitiver numerischer Datentyp " in diesem Artikel bezieht sich auf numerische Datentypen, die direkt von der CPU unterstützt werden und Anweisungen zum Bearbeiten dieser Datentypen enthalten.
Konstruktoren
| Name | Beschreibung |
|---|---|
| Vector<T>(ReadOnlySpan<Byte>) |
Erstellt einen Vektor aus der angegebenen schreibgeschützten Byte-Spanne. |
| 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 einen angegebenen Typ aufweisen. |
| Vector<T>(T[], Int32) |
Erstellt einen Vektor aus einem angegebenen Array ab einer angegebenen Indexposition. |
| Vector<T>(T[]) |
Erstellt einen Vektor aus einem angegebenen Array. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AllBitsSet |
Ruft ein neues Vector<T> ab, wobei alle Bits auf 1 festgelegt sind. |
| Count |
Gibt die Anzahl der im Vektor gespeicherten Elemente zurück. |
| Indices |
Ruft ein neues 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
| Name | Beschreibung |
|---|---|
| CopyTo(Span<Byte>) |
Kopiert den Vektor in den angegebenen Span<T>. |
| CopyTo(Span<T>) |
Kopiert den Vektor in die angegebene Spanne. . |
| CopyTo(T[], Int32) |
Kopiert die Vektorinstanz an ein angegebenes Zielarray, beginnend an einer angegebenen Indexposition. |
| CopyTo(T[]) |
Kopiert die Vektorinstanz in ein angegebenes Zielarray. |
| 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 diesen instance zurück. |
| ToString() |
Gibt die Zeichenfolgendarstellung dieses Vektors mithilfe der Standardformatierung zurück. |
| 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. |
| ToString(String) |
Gibt die Zeichenfolgendarstellung dieses Vektors mithilfe der angegebenen Formatzeichenfolge zurück, um einzelne Elemente zu formatieren. |
| TryCopyTo(Span<Byte>) |
Versucht, den Vektor in die angegebene Bytespanne zu kopieren. |
| TryCopyTo(Span<T>) |
Versucht, den Vektor in das angegebene Span<T>Element zu kopieren. |
Operatoren
| Name | Beschreibung |
|---|---|
| Addition(Vector<T>, Vector<T>) |
Fügt zwei Vektoren zusammen. |
| BitwiseAnd(Vector<T>, Vector<T>) |
Gibt einen neuen Vektor zurück, indem für jedes Element in zwei Vektoren ein bitweiser |
| BitwiseOr(Vector<T>, Vector<T>) |
Gibt einen neuen Vektor zurück, indem für jedes Element in zwei Vektoren 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 für jedes Element in zwei Vektoren 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 ungleich 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). |
Erweiterungseigenschaften
| Name | Beschreibung |
|---|---|
| E |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| Epsilon |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| NaN |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| NegativeInfinity |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| NegativeOne |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| NegativeZero |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| Pi |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| PositiveInfinity |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
| Tau |
Stellt einen einzelnen Vektor eines angegebenen numerischen Typs dar, der für die Optimierung paralleler Algorithmen auf niedriger Ebene geeignet ist. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| As<TFrom,TTo>(Vector<TFrom>) | |
| AsVector128<T>(Vector<T>) |
Interpretiert eine Vector<T>Vector128<T>neu. |
| AsVector256<T>(Vector<T>) |
Interpretiert eine Vector<T>Vector256<T>neu. |
| AsVector512<T>(Vector<T>) |
Interpretiert eine Vector<T>Vector512<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, UIntPtr) |
Speichert einen Vektor am angegebenen Ziel. |
| StoreUnsafe<T>(Vector<T>, T) |
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 ein neues Vector<T> Element mit dem Element im angegebenen Indexsatz auf den angegebenen Wert und die verbleibenden Elemente, die auf denselben Wert wie im angegebenen Vektor festgelegt sind. |