Skip to content

Commit 4d76a3f

Browse files
authored
Merge pull request #260 from mmurooka/check-norm-nam-rotangle
[lisp/c/matrix.c] check norm is not nan in rotation-angle
2 parents 4eded44 + 47b9d9d commit 4d76a3f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lisp/c/matrix.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,14 +1103,14 @@ pointer argv[];
11031103
printf("rotation-angle1: %f %f %f\n",kx,ky,kz);
11041104
if ((fabs(kx) > fabs(ky)) && (fabs(kx) > fabs(kz))) {
11051105
ky=(m[size]+m[1])/(2*kx*vers); kz=(m[2]+m[size+size])/(2*kx*vers);
1106-
norm=sqrt((ky*ky+kz*kz)/(1.0-kx*kx)); ky/=norm; kz/=norm;}
1106+
norm=sqrt((ky*ky+kz*kz)/(1.0-kx*kx)); if (!isnan(norm)) {ky/=norm; kz/=norm;}}
11071107
else if ((fabs(ky) > fabs(kx)) && (fabs(ky) > fabs(kz))) {
11081108
kx=(m[size]+m[1])/(2*ky*vers); kz=(m[size+2]+m[size+size+1])/(2*ky*vers);
1109-
norm=sqrt((kx*kx+kz*kz)/(1.0-ky*ky)); kx/=norm; kz/=norm;}
1109+
norm=sqrt((kx*kx+kz*kz)/(1.0-ky*ky)); if (!isnan(norm)) {kx/=norm; kz/=norm;}}
11101110
else {
11111111
kx=(m[2]+m[size+size])/(2*kz*vers);
11121112
ky=(m[size+2]+m[size+size+1])/(2*kz*vers);
1113-
norm=sqrt((kx*kx+ky*ky)/(1.0-kz*kz)); kx/=norm; ky/=norm;}
1113+
norm=sqrt((kx*kx+ky*ky)/(1.0-kz*kz)); if (!isnan(norm)) {kx/=norm; ky/=norm;}}
11141114
/**/
11151115
norm=sqrt(kx*kx + ky*ky + kz*kz);
11161116
if (debug)

0 commit comments

Comments
 (0)