100 |
|
errno = 0; |
101 |
|
va = mf->ep + 4*n; |
102 |
|
coef = evalue(va[0]); |
103 |
< |
if (errno) |
103 |
> |
if (errno == EDOM || errno == ERANGE) |
104 |
|
goto computerr; |
105 |
|
if (coef <= FTINY || rayorigin(&nr, r, TRANS, coef) < 0) |
106 |
|
return(0); |
107 |
|
va++; /* compute direction */ |
108 |
|
for (j = 0; j < 3; j++) { |
109 |
|
nr.rdir[j] = evalue(va[j]); |
110 |
< |
if (errno) |
110 |
> |
if (errno == EDOM || errno == ERANGE) |
111 |
|
goto computerr; |
112 |
|
} |
113 |
|
if (mf->f != &unitxf) |
178 |
|
errno = 0; |
179 |
|
va = mf->ep + 4*n; |
180 |
|
coef = evalue(va[0]); |
181 |
< |
if (errno) |
181 |
> |
if (errno == EDOM || errno == ERANGE) |
182 |
|
goto computerr; |
183 |
|
if (coef <= FTINY) |
184 |
|
return(0); /* insignificant */ |
185 |
|
va++; |
186 |
|
for (i = 0; i < 3; i++) { |
187 |
|
newdir[i] = evalue(va[i]); |
188 |
< |
if (errno) |
188 |
> |
if (errno == EDOM || errno == ERANGE) |
189 |
|
goto computerr; |
190 |
|
} |
191 |
|
if (mf->f != &unitxf) |