矩陣類型
矩陣是一種數據類型,其中包含二維方格中一到十六個 純量 元件。 矩陣的每個元件都必須是相同的類型。
類型宣告
您可以使用 純量類型來宣告矩陣變數, 矩陣內容的名稱,其中包含的數據列和資料行數目:
TypeRowsCols Name
其中 Type
是每個元件的 純量類型,Rows
是 1 到 4 之間的常數整數表達式,表示數據列數目,Cols
是介於 1 到 4 之間的常數整數表達式,表示數據行數目,Name
是可唯一識別變數名稱的 ASCII 字元串。
例子:
int1x1 iMatrix; // integer matrix with 1 row, 1 column, 1 single component
int4x1 iMatrix; // integer matrix with 4 rows, 1 column, 4 total components
int1x4 iMatrix; // integer matrix with 1 row, 4 columns, 4 total components
double3x3 dMatrix; // double matrix with 3 rows, 3 columns, 9 total components
float3x2 fMatrix = { 0.0f, 0.1f, // row 1
2.1f, 2.2f, // row 2
4.1f, 4.2f // row 3
};
範本樣式宣告
替代宣告語法會使用 matrix
關鍵詞和範本自變數來指出純量類型、數據列數目和資料行數目:
matrix <Type=float, Rows=4, Cols=4> Name
其中 Type
是每個元件的 純量型別,Rows
是介於 1 到 4 之間的整數,表示數據列數目,Cols
是介於 1 到 4 之間的整數,表示數據行數目,但在樣板樣式角括弧內指定。
Name
是可唯一識別變數名稱的 ASCII 字串。
請注意,範本參數預設允許藉由離開最後一個參數、離開最後兩個範本參數或 4x4 浮點數來指定指定類型的 4 個數據行母體,或離開這三個參數,以指定類型的 4x4 矩陣。
例子:
matrix <int, 1, 1> iMatrix = { 1 };
matrix <float, 2, 3> fMatrix = { 0.0f, 0.1f, 0.2f, // row 1
2.1f, 2.2f, 2.3f // row 2
};
matrix<int16_t, 1> sMatrix = { 1, 2, 3, 4 }; // Defaults to 1x4 int16 matrix
matrix<float16_t> hMatrix = { 0.0f, 0.1f, 0.2f, 0.3f, // Defaults to 4x4 float16 matrix
1.0f, 1.1f, 1.2f, 1.3f,
2.0f, 2.1f, 2.2f, 2.3f,
3.0f, 3.1f, 3.2f, 3.3f };
matrix fMatrix = { 0.0f, 0.1f, 0.2f, 0.3f, // Defaults to 4x4 float matrix
1.0f, 1.1f, 1.2f, 1.3f,
2.0f, 2.1f, 2.2f, 2.3f,
3.0f, 3.1f, 3.2f, 3.3f };