fix array subscript is outside array bounds

warning: array subscript # is outside array bounds
of ‘float[#]’ [-Warray-bounds]

Commit also fixes variable order when calculating
multiplication between two matrices.

Signed-off-by: Vincent Davis Jr <vince@underview.tech>
This commit is contained in:
Vincent Davis Jr
2023-08-06 00:29:06 -04:00
parent 0fb9e73ec1
commit aa37c1aa74
5 changed files with 33 additions and 30 deletions

View File

@@ -92,20 +92,19 @@ glm_mat2x4_make(float * __restrict src, mat2x4 dest) {
CGLM_INLINE
void
glm_mat2x4_mul(mat2x4 m1, mat4x2 m2, mat2 dest) {
float a00 = m1[0][0], a01 = m1[0][1],
a10 = m1[1][0], a11 = m1[1][1],
a20 = m1[2][0], a21 = m1[2][1],
a30 = m1[3][0], a31 = m1[3][1],
float a00 = m1[0][0], a01 = m1[0][1], a02 = m1[0][2], a03 = m1[0][3],
a10 = m1[1][0], a11 = m1[1][1], a12 = m1[1][2], a13 = m1[1][3],
b00 = m2[0][0], b01 = m2[0][1],
b10 = m2[1][0], b11 = m2[1][1],
b20 = m2[2][0], b21 = m2[2][1],
b30 = m2[3][0], b31 = m2[3][1];
dest[0][0] = a00 * b00 + a10 * b01 + a20 * b20 + a30 * b30;
dest[0][1] = a00 * b10 + a10 * b11 + a20 * b21 + a30 * b31;
dest[1][0] = a01 * b00 + a11 * b01 + a21 * b20 + a31 * b30;
dest[1][1] = a01 * b10 + a11 * b11 + a21 * b21 + a31 * b31;
dest[0][0] = a00 * b00 + a01 * b10 + a02 * b20 + a03 * b30;
dest[0][1] = a00 * b01 + a01 * b11 + a02 * b21 + a03 * b31;
dest[1][0] = a10 * b00 + a11 * b10 + a12 * b20 + a13 * b30;
dest[1][1] = a10 * b01 + a11 * b11 + a12 * b21 + a13 * b31;
}
/*!
@@ -151,7 +150,7 @@ CGLM_INLINE
void
glm_mat2x4_scale(mat2x4 m, float s) {
m[0][0] *= s; m[0][1] *= s; m[0][2] *= s; m[0][3] *= s;
m[1][0] *= s; m[1][1] *= s; m[2][2] *= s; m[3][3] *= s;
m[1][0] *= s; m[1][1] *= s; m[1][2] *= s; m[1][3] *= s;
}
#endif