src/matrix4i.c file

Functions

auto mat4i_identity(void) -> matrix4i
Constructs the 4x4 identity matrix.
auto mat4i_mul(const matrix4i a, const matrix4i b) -> matrix4i
Multiplies two 4x4 integer matrices.
auto mat4i_transpose(const matrix4i m) -> matrix4i
Computes the transpose of a 4x4 integer matrix.
auto mat4i_inverse(const matrix4i m) -> matrix4i
Computes the inverse of a 4x4 integer matrix.
auto mat4i_determinant(const matrix4i m) -> vm_int_t
Computes the determinant of a 4x4 integer matrix (Laplace expansion along first row).
auto mat4i_mul_vec4i(const matrix4i m, const vector4i v) -> vector4i
Multiplies a 4x4 integer matrix by a vector4i.
auto mat4i_mul_vec3i(const matrix4i m, const vector3i v, const vm_int_t w) -> vector3i
Transforms a vector3i by a 4x4 integer matrix using homogeneous w.

Function documentation

matrix4i mat4i_identity(void)

Constructs the 4x4 identity matrix.

Returns The identity matrix4i.

matrix4i mat4i_mul(const matrix4i a, const matrix4i b)

Multiplies two 4x4 integer matrices.

Parameters
a The first matrix.
b The second matrix.
Returns The product matrix.

matrix4i mat4i_transpose(const matrix4i m)

Computes the transpose of a 4x4 integer matrix.

Parameters
m The input matrix.
Returns The transposed matrix.

matrix4i mat4i_inverse(const matrix4i m)

Computes the inverse of a 4x4 integer matrix.

Parameters
m The input matrix.
Returns The inverse matrix.

vm_int_t mat4i_determinant(const matrix4i m)

Computes the determinant of a 4x4 integer matrix (Laplace expansion along first row).

Parameters
m The input matrix.
Returns The determinant value.

vector4i mat4i_mul_vec4i(const matrix4i m, const vector4i v)

Multiplies a 4x4 integer matrix by a vector4i.

Parameters
m Input matrix.
v Input vector.
Returns The resulting vector4i.

vector3i mat4i_mul_vec3i(const matrix4i m, const vector3i v, const vm_int_t w)

Transforms a vector3i by a 4x4 integer matrix using homogeneous w.

Parameters
m Input matrix.
v Input vector.
w Homogeneous w component.
Returns The resulting vector3i.