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ą, która reprezentuje pojedynczy wektor określonego typu liczbowego. Vector<T> Liczba wystąpień jest stała, ale jej górny limit jest zależny od rejestrowania procesora CPU. Jest ona przeznaczona do użycia jako blok konstrukcyjny do wektoryzacji dużych algorytmów, dlatego nie może być używana 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>obiektu . |
Vector<T>(Span<T>) |
Tworzy wektor z danego Span<T>obiektu . |
Vector<T>(T) |
Tworzy wektor, którego składniki są określonego typu. |
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 |
Reprezentuje pojedynczy wektor określonego typu liczbowego, który jest odpowiedni do optymalizacji algorytmów równoległych niskiego poziomu. |
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 podanego 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 podanemu obiektowi. |
Equals(Vector<T>) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu wektorowi. |
GetHashCode() |
Zwraca wartość 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 do formatowania poszczególnych elementów. |
ToString(String, IFormatProvider) |
Zwraca reprezentację ciągu tego wektora przy użyciu określonego ciągu formatu do formatowania 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>elementu . |
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 wektora typu Byte. |
Explicit(Vector<T> to Vector<Double>) |
Ponownie interpretuje bity określonego wektora wektora typu Double. |
Explicit(Vector<T> to Vector<Int16>) |
Ponownie interpretuje bity określonego wektora wektora typu Int16. |
Explicit(Vector<T> to Vector<Int32>) |
Ponownie interpretuje bity określonego wektora wektora typu Int32. |
Explicit(Vector<T> to Vector<Int64>) |
Ponownie interpretuje bity określonego wektora 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 wektora typu SByte. |
Explicit(Vector<T> to Vector<Single>) |
Ponownie interpretuje bity określonego wektora wektora typu Single. |
Explicit(Vector<T> to Vector<UInt16>) |
Ponownie interpretuje bity określonego wektora wektora typu UInt16. |
Explicit(Vector<T> to Vector<UInt32>) |
Ponownie interpretuje bity określonego wektora wektora typu UInt32. |
Explicit(Vector<T> to Vector<UInt64>) |
Ponownie interpretuje bity określonego wektora 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ą iloczynem 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 określonego wektora. |
RightShift(Vector<T>, Int32) |
Przesuwa (podpisany) każdy element wektora w prawo o określoną kwotę. |
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>) |
Ponownie interpretuje element Vector<T> jako nowy Vector<T>element . |
GetElement<T>(Vector<T>, Int32) |
Pobiera element wskazywany przez określony indeks. |
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> element z określonym indeksem ustawionym na określoną wartość, a pozostałe elementy ustawione na tę samą wartość co w danym wektorze. |
AsVector128<T>(Vector<T>) |
Ponownie interpretuje element Vector<T> jako nowy Vector128<T>element . |
AsVector256<T>(Vector<T>) |
Ponownie interpretuje element Vector<T> jako nowy Vector256<T>element . |
AsVector512<T>(Vector<T>) |
Ponownie interpretuje element Vector<T> jako nowy Vector512<T>element . |
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla