Mat2
Matriz de duas linhas e duas colunas (2x2) de tipo mat2, com campos de tipo float. Representada em linha maior.
Declaração e atribuição
def a : mat2; #declaração
a = mat2(4.3, 5.1, 6.2, 7.4); # atribuição
a[0][0] = 3.0; # atribuição
def b : mat2 = mat2(3.0, 4.0, 5.0, 6.0); # declaração e atribuição
b[1][0] = 1; # atribuição ERRÔNEA e detectada em tempo de compilação
b[1] = 1.0; # atribuição ERRÔNEA e detectada em tempo de compilação
Mat3
Matriz de três linhas e três colunas (3x3) de tipo mat3, com campos de tipo float. Representada em linha maior. Declaração e atribuição análogas ao tipo mat2.
Mat4
Matriz de quatro linhas e quatro colunas (4x4) de tipo mat4, com campos de tipo float. Representada em linha maior. Declaração e atribuição análogas ao tipo mat2.
Conversão
Conversão entre mat2, mat3 e mat4
Quando para um tipo de menor tamanho, a matriz é truncada; quando para um tipo maior, os novos valores são preenchidos tais quais a matriz identidade recebe 1.0 na diagonal, 0.0 em outras posições. Isso é feito apenas de matX → matY, ondeY≥X.