Vector<T> Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje jeden vektor zadaného číselného typu, který je vhodný pro optimalizaci paralelních algoritmů na nízké úrovni.
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
Parametry typu
- T
Typ prvků ve vektoru.
T
může být libovolný primitivní číselný typ.
- Dědičnost
- Implementuje
Poznámky
Vector<T> je neměnná struktura, která představuje jeden vektor zadaného číselného typu. Počet Vector<T> instancí je pevný, ale jeho horní limit je závislý na registru procesoru. Je určen k použití jako stavební blok pro vektorizaci velkých algoritmů, a proto jej nelze použít přímo jako vektor libovolné délky nebo tenzor.
Struktura Vector<T> poskytuje podporu hardwarové akcelerace.
Termín primitivní číselný datový typ v tomto článku odkazuje na číselné datové typy, které jsou přímo podporovány procesorem a obsahují pokyny, které mohou s těmito datovými typy manipulovat.
Konstruktory
Vector<T>(ReadOnlySpan<Byte>) |
Vytvoří vektor z daného rozsahu bajtů jen pro čtení. |
Vector<T>(ReadOnlySpan<T>) |
Vytvoří vektor z daného ReadOnlySpan<T>. |
Vector<T>(Span<T>) |
Vytvoří vektor z daného Span<T>. |
Vector<T>(T) |
Vytvoří vektor, jehož součásti jsou zadaného typu. |
Vector<T>(T[]) |
Vytvoří vektor ze zadaného pole. |
Vector<T>(T[], Int32) |
Vytvoří vektor ze zadané matice začínající na zadané pozici indexu. |
Vlastnosti
AllBitsSet |
Získá nový Vector<T> se všemi bity nastavenými na hodnotu 1. |
Count |
Vrátí počet prvků uložených ve vektoru. |
Indices |
Představuje jeden vektor zadaného číselného typu, který je vhodný pro optimalizaci paralelních algoritmů na nízké úrovni. |
IsSupported |
Získá hodnotu, která označuje, zda |
Item[Int32] |
Získá element v zadaném indexu. |
One |
Vrátí vektor obsahující všechny. |
Zero |
Vrátí vektor obsahující všechny nuly. |
Metody
CopyTo(Span<Byte>) |
Zkopíruje vektor na danou Span<T>. |
CopyTo(Span<T>) |
Zkopíruje vektor do daného rozsahu. . |
CopyTo(T[]) |
Zkopíruje instanci vektoru do zadaného cílového pole. |
CopyTo(T[], Int32) |
Zkopíruje instanci vektoru do zadaného cílového pole počínaje zadanou pozicí indexu. |
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. |
Equals(Vector<T>) |
Vrátí hodnotu, která označuje, zda se tato instance rovná zadanému vektoru. |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. |
ToString() |
Vrátí řetězcovou reprezentaci tohoto vektoru pomocí výchozího formátování. |
ToString(String) |
Vrátí řetězcovou reprezentaci tohoto vektoru pomocí zadaného řetězce formátu pro formátování jednotlivých prvků. |
ToString(String, IFormatProvider) |
Vrátí řetězcovou reprezentaci tohoto vektoru pomocí zadaného řetězce formátu pro formátování jednotlivých prvků a zadaného zprostředkovatele formátu pro definování formátování specifického pro jazykovou verzi. |
TryCopyTo(Span<Byte>) |
Pokusí se zkopírovat vektor do daného rozsahu bajtů. |
TryCopyTo(Span<T>) |
Pokusí se zkopírovat vektor do daného Span<T>. |
Operátory
Addition(Vector<T>, Vector<T>) |
Sečte dva vektory dohromady. |
BitwiseAnd(Vector<T>, Vector<T>) |
Vrátí nový vektor provedením bitové |
BitwiseOr(Vector<T>, Vector<T>) |
Vrátí nový vektor provedením bitové |
Division(Vector<T>, T) |
Vydělí vektor skalárem pro výpočet podílu jednotlivých prvků. |
Division(Vector<T>, Vector<T>) |
Vydělí první vektor sekundou. |
Equality(Vector<T>, Vector<T>) |
Vrátí hodnotu, která určuje, zda jsou si všechny dvojice prvků ve dvou zadaných vektorech rovny. |
ExclusiveOr(Vector<T>, Vector<T>) |
Vrátí nový vektor provedením bitové |
Explicit(Vector<T> to Vector<Byte>) |
Reinterpretuje bity zadaného vektoru na vektor typu Byte. |
Explicit(Vector<T> to Vector<Double>) |
Reinterpretuje bity zadaného vektoru na vektor typu Double. |
Explicit(Vector<T> to Vector<Int16>) |
Reinterpretuje bity zadaného vektoru na vektor typu Int16. |
Explicit(Vector<T> to Vector<Int32>) |
Reinterpretuje bity zadaného vektoru na vektor typu Int32. |
Explicit(Vector<T> to Vector<Int64>) |
Reinterpretuje bity zadaného vektoru na vektor typu Int64. |
Explicit(Vector<T> to Vector<IntPtr>) |
Přeloží bity zdrojového vektoru na vektor celých čísel nativní velikosti. |
Explicit(Vector<T> to Vector<SByte>) |
Reinterpretuje bity zadaného vektoru na vektor typu SByte. |
Explicit(Vector<T> to Vector<Single>) |
Reinterpretuje bity zadaného vektoru na vektor typu Single. |
Explicit(Vector<T> to Vector<UInt16>) |
Reinterpretuje bity zadaného vektoru na vektor typu UInt16. |
Explicit(Vector<T> to Vector<UInt32>) |
Reinterpretuje bity zadaného vektoru na vektor typu UInt32. |
Explicit(Vector<T> to Vector<UInt64>) |
Reinterpretuje bity zadaného vektoru na vektor typu UInt64. |
Explicit(Vector<T> to Vector<UIntPtr>) |
Přeloží bity zdrojového vektoru na vektor nativních celých čísel bez znaménka. |
Inequality(Vector<T>, Vector<T>) |
Vrátí hodnotu, která označuje, zda je jakýkoli jeden pár prvků v zadaných vektorech roven. |
LeftShift(Vector<T>, Int32) |
Posune každý prvek vektoru doleva o zadanou hodnotu. |
Multiply(T, Vector<T>) |
Vynásobí vektor zadanou skalární hodnotou. |
Multiply(Vector<T>, T) |
Vynásobí vektor zadanou skalární hodnotou. |
Multiply(Vector<T>, Vector<T>) |
Vrátí nový vektor, jehož hodnoty jsou součinem každé dvojice prvků ve dvou zadaných vektorech. |
OnesComplement(Vector<T>) |
Vrátí nový vektor, jehož prvky jsou získány přijetím doplňku elementů zadaného vektoru. |
RightShift(Vector<T>, Int32) |
Posune (podepsat) každý prvek vektoru doprava o zadanou hodnotu. |
Subtraction(Vector<T>, Vector<T>) |
Odečte druhý vektor od prvního. |
UnaryNegation(Vector<T>) |
Neguje daný vektor. |
UnaryPlus(Vector<T>) |
Vrátí daný vektor beze změny. |
UnsignedRightShift(Vector<T>, Int32) |
Posune (bez znaménka) každý prvek vektoru doprava o zadanou hodnotu. |
Metody rozšíření
As<TFrom,TTo>(Vector<TFrom>) | |
GetElement<T>(Vector<T>, Int32) |
Získá prvek na pozici zadaného indexu. |
Store<T>(Vector<T>, T*) |
Ukládá vektor v daném cíli. |
StoreAligned<T>(Vector<T>, T*) |
Ukládá vektor v daném zarovnaném cíli. |
StoreAlignedNonTemporal<T>(Vector<T>, T*) |
Ukládá vektor v daném zarovnaném cíli. |
StoreUnsafe<T>(Vector<T>, T) |
Ukládá vektor v daném cíli. |
StoreUnsafe<T>(Vector<T>, T, UIntPtr) |
Ukládá vektor v daném cíli. |
ToScalar<T>(Vector<T>) |
Převede daný vektor na skalární obsahující hodnotu prvního prvku. |
WithElement<T>(Vector<T>, Int32, T) |
Vytvoří nový Vector<T> prvek s elementem v zadaném indexu nastaveným na zadanou hodnotu a zbývajícími elementy nastavenými na stejnou hodnotu jako v daném vektoru. |
AsVector128<T>(Vector<T>) |
Reinterprets a Vector<T> as a new Vector128<T>. |
AsVector256<T>(Vector<T>) |
Reinterprets a Vector<T> as a new Vector256<T>. |
AsVector512<T>(Vector<T>) |
Reinterprets a Vector<T> as a new Vector512<T>. |
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro