Vector<T> Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje pojedynczy wektor określonego typu liczbowego, który jest odpowiedni do optymalizacji algorytmów równoległych niskiego poziomu.
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 elementów w wektorze.
T
może być dowolnym pierwotnym typem liczbowym.
- Dziedziczenie
- Implementuje
Uwagi
Vector<T> jest niezmienną strukturą reprezentującą pojedynczy wektor określonego typu liczbowego. Liczba wystąpień Vector<T> jest stała, ale jej górny limit jest zależny od rejestrowania procesora CPU. Ma być używany jako blok konstrukcyjny do wektoryzacji dużych algorytmów i dlatego nie może być używany bezpośrednio jako dowolny wektor długości lub tensor.
Struktura Vector<T> zapewnia obsługę przyspieszania sprzętowego.
Termin typ danych liczbowych pierwotnych w tym artykule odnosi się do typów danych liczbowych, które są bezpośrednio obsługiwane przez procesor CPU i zawierają instrukcje, które mogą manipulować tymi typami danych.
Konstruktory
Vector<T>(ReadOnlySpan<Byte>) |
Tworzy wektor z danego zakresu tylko do odczytu bajtów. |
Vector<T>(ReadOnlySpan<T>) |
Tworzy wektor z danego ReadOnlySpan<T>. |
Vector<T>(Span<T>) |
Tworzy wektor z danego Span<T>. |
Vector<T>(T) |
Tworzy wektor, którego składniki mają określony typ. |
Vector<T>(T[]) |
Tworzy wektor z określonej tablicy. |
Vector<T>(T[], Int32) |
Tworzy wektor z określonej tablicy rozpoczynającej się od określonej pozycji indeksu. |
Właściwości
AllBitsSet |
Pobiera nowy Vector<T> ze wszystkimi bitami ustawionymi na 1. |
Count |
Zwraca liczbę elementów przechowywanych w wektorze. |
Indices |
Pobiera nowy Vector<T> z elementami ustawionymi na indeks. |
IsSupported |
Pobiera wartość wskazującą, czy |
Item[Int32] |
Pobiera element w określonym indeksie. |
One |
Zwraca wektor zawierający wszystkie. |
Zero |
Zwraca wektor zawierający wszystkie zera. |
Metody
CopyTo(Span<Byte>) |
Kopiuje wektor do danego Span<T>. |
CopyTo(Span<T>) |
Kopiuje wektor do danego zakresu. . |
CopyTo(T[]) |
Kopiuje wystąpienie wektora do określonej tablicy docelowej. |
CopyTo(T[], Int32) |
Kopiuje wystąpienie wektora do określonej tablicy docelowej rozpoczynającej się od określonej pozycji indeksu. |
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. |
Equals(Vector<T>) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu wektorowi. |
GetHashCode() |
Zwraca kod skrótu dla tego wystąpienia. |
ToString() |
Zwraca reprezentację ciągu tego wektora przy użyciu formatowania domyślnego. |
ToString(String) |
Zwraca reprezentację ciągu tego wektora przy użyciu określonego ciągu formatu w celu sformatowania poszczególnych elementów. |
ToString(String, IFormatProvider) |
Zwraca reprezentację ciągu tego wektora przy użyciu określonego ciągu formatu w celu sformatowania poszczególnych elementów i określonego dostawcy formatu w celu zdefiniowania formatowania specyficznego dla kultury. |
TryCopyTo(Span<Byte>) |
Próbuje skopiować wektor do danego zakresu bajtów. |
TryCopyTo(Span<T>) |
Próbuje skopiować wektor do danego Span<T>. |
Operatory
Addition(Vector<T>, Vector<T>) |
Dodaje dwa wektory razem. |
BitwiseAnd(Vector<T>, Vector<T>) |
Zwraca nowy wektor, wykonując bitową |
BitwiseOr(Vector<T>, Vector<T>) |
Zwraca nowy wektor, wykonując bitową |
Division(Vector<T>, T) |
Dzieli wektor przez skalarny, aby obliczyć iloraz dla poszczególnych elementów. |
Division(Vector<T>, Vector<T>) |
Dzieli pierwszy wektor przez drugi. |
Equality(Vector<T>, Vector<T>) |
Zwraca wartość wskazującą, czy każda para elementów w dwóch określonych wektorach jest równa. |
ExclusiveOr(Vector<T>, Vector<T>) |
Zwraca nowy wektor, wykonując bitową |
Explicit(Vector<T> to Vector<Byte>) |
Ponownie interpretuje bity określonego wektora do wektora typu Byte. |
Explicit(Vector<T> to Vector<Double>) |
Ponownie interpretuje bity określonego wektora do wektora typu Double. |
Explicit(Vector<T> to Vector<Int16>) |
Ponownie interpretuje bity określonego wektora do wektora typu Int16. |
Explicit(Vector<T> to Vector<Int32>) |
Ponownie interpretuje bity określonego wektora do wektora typu Int32. |
Explicit(Vector<T> to Vector<Int64>) |
Ponownie interpretuje bity określonego wektora do wektora typu Int64. |
Explicit(Vector<T> to Vector<IntPtr>) |
Ponownie interpretuje bity wektora źródłowego do wektora liczb całkowitych o rozmiarze natywnym. |
Explicit(Vector<T> to Vector<SByte>) |
Ponownie interpretuje bity określonego wektora do wektora typu SByte. |
Explicit(Vector<T> to Vector<Single>) |
Ponownie interpretuje bity określonego wektora do wektora typu Single. |
Explicit(Vector<T> to Vector<UInt16>) |
Ponownie interpretuje bity określonego wektora do wektora typu UInt16. |
Explicit(Vector<T> to Vector<UInt32>) |
Ponownie interpretuje bity określonego wektora do wektora typu UInt32. |
Explicit(Vector<T> to Vector<UInt64>) |
Ponownie interpretuje bity określonego wektora do wektora typu UInt64. |
Explicit(Vector<T> to Vector<UIntPtr>) |
Ponownie interpretuje bity wektora źródłowego w wektor wielkości natywnej, niepodpisanych liczb całkowitych. |
Inequality(Vector<T>, Vector<T>) |
Zwraca wartość wskazującą, czy dowolna pojedyncza para elementów w określonych wektorach jest równa. |
LeftShift(Vector<T>, Int32) |
Przesuwa każdy element wektora w lewo o określoną ilość. |
Multiply(T, Vector<T>) |
Mnoży wektor przez określoną wartość skalarną. |
Multiply(Vector<T>, T) |
Mnoży wektor przez określoną wartość skalarną. |
Multiply(Vector<T>, Vector<T>) |
Zwraca nowy wektor, którego wartości są produktem każdej pary elementów w dwóch określonych wektorach. |
OnesComplement(Vector<T>) |
Zwraca nowy wektor, którego elementy są uzyskiwane przez pobranie uzupełnienia jednego z elementów określonego wektora. |
RightShift(Vector<T>, Int32) |
Przesuwa (podpisany) każdy element wektora w prawo o określoną ilość. |
Subtraction(Vector<T>, Vector<T>) |
Odejmuje drugi wektor od pierwszego. |
UnaryNegation(Vector<T>) |
Neguje dany wektor. |
UnaryPlus(Vector<T>) |
Zwraca dany wektor bez zmian. |
UnsignedRightShift(Vector<T>, Int32) |
Przesuwa (bez znaku) każdy element wektora w prawo o określoną ilość. |
Metody rozszerzania
As<TFrom,TTo>(Vector<TFrom>) | |
GetElement<T>(Vector<T>, Int32) |
Pobiera element w określonym indeksie. |
Store<T>(Vector<T>, T*) |
Przechowuje wektor w danym miejscu docelowym. |
StoreAligned<T>(Vector<T>, T*) |
Przechowuje wektor w danym wyrównanym miejscu docelowym. |
StoreAlignedNonTemporal<T>(Vector<T>, T*) |
Przechowuje wektor w danym wyrównanym miejscu docelowym. |
StoreUnsafe<T>(Vector<T>, T) |
Przechowuje wektor w danym miejscu docelowym. |
StoreUnsafe<T>(Vector<T>, T, UIntPtr) |
Przechowuje wektor w danym miejscu docelowym. |
ToScalar<T>(Vector<T>) |
Konwertuje dany wektor na skalarny zawierający wartość pierwszego elementu. |
WithElement<T>(Vector<T>, Int32, T) |
Tworzy nowy Vector<T> z elementem w określonym indeksie ustawionym na określoną wartość, a pozostałe elementy ustawione na tę samą wartość co w danym wektorze. |
AsVector128<T>(Vector<T>) |
Ponownie interpretuje Vector<T> jako nowy Vector128<T>. |
AsVector256<T>(Vector<T>) |
Ponownie interpretuje Vector<T> jako nowy Vector256<T>. |
AsVector512<T>(Vector<T>) |
Ponownie interpretuje Vector<T> jako nowy Vector512<T>. |