inverse_error as a separate function (helps with debugging)
This commit is contained in:
parent
676ea3a1f9
commit
1c8f0e7e37
|
@ -471,18 +471,20 @@ ld det(const transmatrix& T) {
|
||||||
det -= T[0][i] * T[1][(i+2)%3] * T[2][(i+1)%3];
|
det -= T[0][i] * T[1][(i+2)%3] * T[2][(i+1)%3];
|
||||||
return det;
|
return det;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void inverse_error(const transmatrix& T) {
|
||||||
|
printf("Warning: inverting a singular matrix\n");
|
||||||
|
display(T);
|
||||||
|
}
|
||||||
|
|
||||||
transmatrix inverse(const transmatrix& T) {
|
transmatrix inverse(const transmatrix& T) {
|
||||||
profile_start(7);
|
profile_start(7);
|
||||||
|
|
||||||
ld d = det(T);
|
ld d = det(T);
|
||||||
transmatrix T2;
|
transmatrix T2;
|
||||||
if(d == 0) {
|
if(d == 0) {
|
||||||
printf("Warning: inverting a singular matrix\n");
|
inverse_error(T);
|
||||||
display(T);
|
return Id;
|
||||||
display(T2);
|
|
||||||
T2 = Id;
|
|
||||||
return T2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i=0; i<3; i++)
|
for(int i=0; i<3; i++)
|
||||||
|
|
Loading…
Reference in New Issue