60 return m.
v[0] * (m.
v[4] * m.
v[8] - m.
v[5] * m.
v[7]) -
61 m.
v[1] * (m.
v[3] * m.
v[8] - m.
v[5] * m.
v[6]) +
62 m.
v[2] * (m.
v[3] * m.
v[7] - m.
v[4] * m.
v[6]);
vm_int_t mat3i_determinant(const matrix3i m)
Computes the determinant of a 3x3 integer matrix.
matrix3i mat3i_inverse(const matrix3i m)
Computes the inverse of a 3x3 integer matrix.
matrix3i mat3i_transpose(const matrix3i m)
Computes the transpose of a 3x3 integer matrix.
vector2i mat3i_mul_vec2i(const matrix3i m, const vector2i v)
Applies a 3x3 integer affine transform to a vector2i.
vector3i mat3i_mul_vec3i(const matrix3i m, const vector3i v)
Multiplies a 3x3 integer matrix by a vector3i.
matrix3i mat3i_identity(void)
Constructs the 3x3 identity matrix.
matrix3i mat3i_mul(const matrix3i a, const matrix3i b)
Multiplies two 3x3 integer matrices.
vm_int_t v[VECMAT_MAT3_SIZE]
void mat3i_mul_ptr(matrix3i *res, const matrix3i *a, const matrix3i *b)
Multiplies two 3x3 integer matrices (standard matrix multiplication).
void mat3i_inverse_ptr(matrix3i *res, const matrix3i *m)
Computes the inverse of a 3x3 integer matrix using adjugate over determinant.
void mat3i_mul_vec2i_ptr(vector2i *res, const matrix3i *m, const vector2i *v)
Applies a 3x3 integer affine transform to a vector2i.
void mat3i_identity_ptr(matrix3i *res)
Fills the given 3x3 integer matrix with the identity matrix.
void mat3i_mul_vec3i_ptr(vector3i *res, const matrix3i *m, const vector3i *v)
Multiplies a 3x3 integer matrix by a vector3i.
void mat3i_transpose_ptr(matrix3i *res, const matrix3i *m)
Computes the transpose of a 3x3 integer matrix.