should compute determinant0ms ‣
function det(m) {
const m00 = m[0 * 4 + 0];
const m01 = m[0 * 4 + 1];
const m02 = m[0 * 4 + 2];
const m10 = m[1 * 4 + 0];
const m11 = m[1 * 4 + 1];
const m12 = m[1 * 4 + 2];
const m20 = m[2 * 4 + 0];
const m21 = m[2 * 4 + 1];
const m22 = m[2 * 4 + 2];
return m00 * (m11 * m22 - m21 * m12) -
m10 * (m01 * m22 - m21 * m02) +
m20 * (m01 * m12 - m11 * m02);
}
[
[
2, 1, 3, 0,
1, 2, 1, 0,
3, 1, 2, 0,
],
[
2, 0, 0, 0,
0, 3, 0, 0,
0, 0, 4, 0,
],
].forEach(v => {
const m = mat3.clone(v);
assertEqual(mat3.determinant(m), det(m));
});