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 Vector<T> wystąpień 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, 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 pierwotnych danych liczbowych 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>elementu . |
Vector<T>(Span<T>) |
Tworzy wektor z danego Span<T>elementu . |
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> element 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 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ę na 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, aby sformatować poszczególne elementy. |
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>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 skalar, 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>) |
Reinterpretuje bity określonego wektora do wektora typu Byte. |
Explicit(Vector<T> to Vector<Double>) |
Reinterpretuje bity określonego wektora do wektora typu Double. |
Explicit(Vector<T> to Vector<Int16>) |
Reinterpretuje bity określonego wektora do wektora typu Int16. |
Explicit(Vector<T> to Vector<Int32>) |
Reinterpretuje bity określonego wektora do wektora typu Int32. |
Explicit(Vector<T> to Vector<Int64>) |
Reinterpretuje bity określonego wektora do wektora typu Int64. |
Explicit(Vector<T> to Vector<IntPtr>) |
Reinterpretuje bity wektora źródłowego do wektora liczb całkowitych o rozmiarze natywnym. |
Explicit(Vector<T> to Vector<SByte>) |
Reinterpretuje bity określonego wektora do wektora typu SByte. |
Explicit(Vector<T> to Vector<Single>) |
Reinterpretuje bity określonego wektora do wektora typu Single. |
Explicit(Vector<T> to Vector<UInt16>) |
Reinterpretuje bity określonego wektora do wektora typu UInt16. |
Explicit(Vector<T> to Vector<UInt32>) |
Reinterpretuje bity określonego wektora do wektora typu UInt32. |
Explicit(Vector<T> to Vector<UInt64>) |
Reinterpretuje bity określonego wektora do wektora typu UInt64. |
Explicit(Vector<T> to Vector<UIntPtr>) |
Ponownie interpretuje bity wektora źródłowego do wektora wielkości natywnej, niepodpisanych liczb całkowitych. |
Inequality(Vector<T>, Vector<T>) |
Zwraca wartość wskazującą, czy każda pojedyncza para elementów w określonych wektorach jest równa. |
LeftShift(Vector<T>, Int32) |
Przesuwa każdy element wektora pozostawionego przez 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 elementów określonego wektora. |
RightShift(Vector<T>, Int32) |
Przesuwa (podpisany) każdy element wektora z prawej strony o określoną kwotę. |
Subtraction(Vector<T>, Vector<T>) |
Odejmuje drugi wektor od pierwszego. |
UnaryNegation(Vector<T>) |
Neguje dany wektor. |
UnaryPlus(Vector<T>) |
Zwraca określony wektor bez zmian. |
UnsignedRightShift(Vector<T>, Int32) |
Przesuwa (niepodpisane) każdy element wektora z prawej strony o określoną ilość. |
Metody rozszerzania
As<TFrom,TTo>(Vector<TFrom>) | |
GetElement<T>(Vector<T>, Int32) |
Pobiera element wskazywany przez określony indeks. |
Store<T>(Vector<T>, T*) |
Przechowuje wektor w danej lokalizacji docelowej. |
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 danej lokalizacji docelowej. |
StoreUnsafe<T>(Vector<T>, T, UIntPtr) |
Przechowuje wektor w danej lokalizacji docelowej. |
ToScalar<T>(Vector<T>) |
Konwertuje dany wektor na skalar 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>) |
Reinterpretuje element Vector<T> jako nowy Vector128<T>. |
AsVector256<T>(Vector<T>) |
Reinterpretuje element Vector<T> jako nowy Vector256<T>. |
AsVector512<T>(Vector<T>) |
Reinterpretuje element Vector<T> jako nowy Vector512<T>. |
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