Bagikan melalui


Jenis Matriks

Matriks adalah jenis data yang berisi antara satu dan enam belas komponen skalar dalam kisi dua dimensi. Setiap komponen matriks harus memiliki jenis yang sama.

Deklarasi Jenis

Anda dapat mendeklarasikan variabel matriks dengan menggunakan jenis skalar nama konten matriks dengan jumlah baris dan kolom yang dikandungnya:

TypeRowsCols Name

Jika Type adalah jenis skalar masing-masing komponen, Rows adalah ekspresi bilangan bulat konstan antara 1 dan 4 inklusif yang menunjukkan jumlah baris, Cols adalah ekspresi bilangan bulat konstan antara 1 dan 4 inklusif yang menunjukkan jumlah kolom dan Name adalah string ASCII yang secara unik mengidentifikasi nama variabel.

Contoh:

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
                   };   

Deklarasi gaya templat

Sintaks deklarasi alternatif menggunakan kata kunci matrix dan argumen templat untuk menunjukkan jenis skalar, jumlah baris, dan jumlah kolom:

matrix <Type=float, Rows=4, Cols=4> Name

Di mana Type adalah jenis skalar masing-masing komponen, Rows adalah bilangan bulat antara 1 dan 4 inklusif yang menunjukkan jumlah baris, Cols adalah bilangan bulat antara 1 dan 4 inklusif yang menunjukkan jumlah kolom, tetapi ditentukan dalam kurung sudut gaya templat. Name adalah string ASCII yang secara unik mengidentifikasi nama variabel.

Perhatikan bahwa parameter templat default memungkinkan menentukan matrtika 4 kolom dari jenis tertentu dan jumlah baris dengan meninggalkan parameter terakhir, matriks 4x4 dari jenis tertentu dengan meninggalkan dua parameter templat terakhir atau matriks float 4x4 dengan meninggalkan ketiganya.

Contoh:

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 }; 

Lihat juga

Jenis Data (DirectX HLSL)