75 return m.
v[0] * m.
v[3] - m.
v[1] * m.
v[2];
matrix2i mat2i_identity(void)
Constructs the 2x2 integer identity matrix.
matrix2i mat2i_mul(const matrix2i a, const matrix2i b)
Multiplies two 2x2 integer matrices (a * b).
vector2i mat2i_mul_vec2i(const matrix2i m, const vector2i v)
Multiplies a 2x2 integer matrix by a vector2i.
matrix2i mat2i_transpose(const matrix2i m)
Computes the transpose of a 2x2 integer matrix.
vm_int_t mat2i_determinant(const matrix2i m)
Calculates the determinant of the given 2x2 integer matrix.
matrix2i mat2i_inverse(const matrix2i m)
Computes the inverse of a 2x2 integer matrix.
vm_int_t v[VECMAT_MAT2_SIZE]
void mat2i_transpose_ptr(matrix2i *res, const matrix2i *m)
Computes the transpose of the input integer 2x2 matrix and stores in res.
void mat2i_mul_ptr(matrix2i *res, const matrix2i *a, const matrix2i *b)
Multiplies two integer 2x2 matrices (a * b) using explicit loops and stores the result in res.
void mat2i_mul_vec2i_ptr(vector2i *res, const matrix2i *m, const vector2i *v)
Multiplies a 2x2 integer matrix by a vector2i.
void mat2i_inverse_ptr(matrix2i *res, const matrix2i *m)
Computes the inverse of the input integer 2x2 matrix and stores in res.
void mat2i_identity_ptr(matrix2i *res)
Initializes the integer 2x2 matrix to identity (diagonal 1, others 0).