Matrix4 Matrix4::cofactor() const { Matrix4 out; // We'll use i to incrementally compute -1 ^ (r+c) int i = 1; for (int r = 0; r < 4; ++r) { for (int c = 0; c < 4; ++c) { // Compute the determinant of the 3x3 submatrix float det = subDeterminant(r, c); out.elt[r][c] = i * det; i = -i; } i = -i; } return out; }
Matrix4 Matrix4::cofactor() const { Matrix4 out; int i = 1; for (int r = 0; r < 4; ++r) { for (int c = 0; c < 4; ++c) { float det = subDeterminant(r, c); out.elt[r][c] = i * det; i = -i; } i = -i; } return out; }