Typ wektora
Wektor to typ danych, który zawiera od jednego do czterech składników skalarnych. Każdy składnik wektora musi być tego samego typu.
Deklaracja typu
Zmienne wektorowe można zadeklarować przy użyciu typu skalarnego nazwy zawartości wektora z liczbą składników, które zawiera:
TypeComponents Name
Gdzie Type
jest typem skalarnym poszczególnych składników, Components
jest stałym wyrażeniem całkowitym z zakresu od 1 do 4 włącznie wskazującym liczbę składników i Name
jest ciągiem ASCII, który jednoznacznie identyfikuje nazwę zmiennej.
Przykłady:
int iScalar; // integer scalar
int1 iVector = 1; // vector containing one integer
float3 fVector = { 0.2f, 0.3f, 0.4f }; // vector containing three floats
Deklaracja stylu szablonu
Składnia deklaracji alternatywnej używa słowa kluczowego vector
i argumentów szablonu do wskazywania typu skalarnego i liczby składników:
vector <Type=float, Components=4> Name
Gdzie ponownie Type
jest typem skalarnym każdego ze składników, Components
jest liczbą całkowitą z zakresu od 1 do 4 włącznie wskazującą liczbę składników, ale są one określone w nawiasach kątowych w stylu szablonu.
Name
to ciąg ASCII, który jednoznacznie identyfikuje nazwę zmiennej,
Należy pamiętać, że wartości domyślne parametru szablonu umożliwiają określenie 4-składnikowych wektorów danego typu przez pozostawienie ostatniego parametru lub 4-składnikowych wektorów zmiennoprzecinkowych przez pozostawienie obu.
Oto kilka przykładów:
vector <int, 1> iVector = 1;
vector <double, 4> dVector = { 0.2f, 0.3f, 0.4f, 0.5f };
vector <float16_t> hVector = { 0.1f, 0.2f, 0.3f, 0.4f }; // Defaults to 4-component float16 vector
vector fVector = { -0.4f, -0.3f, -0.2f, -0.1f }; // Defaults to 4-component float vector