|
|
last edited 16 years ago by japp |
1 2 3 | ||
Editor:
Time: 2007/11/17 22:34:58 GMT-8 |
||
Note: |
changed: - The acos and asin functions both fail when given a Complex Float argument with the value 1.0. The error message is: <pre> >> Error detected within library code: catdef: division by zero </pre> Presumably the problem is on line 162 of trigcat.spad, which reads: <pre> asin x == atan(x/sqrt(1-x**2)) </pre> Obviously, if x = 1.0, then sqrt(1-x**2) will evaluate to 0.0, resulting in division by zero. The code should probably include an explicit check for this case: <pre> asin x == if x = 1.0 then pi()/2 else atan(x/sqrt(1-x**2)) </pre>
The acos and asin functions both fail when given a Complex Float argument with the value 1.0. The error message is:
>> Error detected within library code: catdef: division by zero
Presumably the problem is on line 162 of trigcat.spad, which reads:
asin x == atan(x/sqrt(1-x**2))
Obviously, if x = 1.0, then sqrt(1-x**2) will evaluate to 0.0, resulting in division by zero. The code should probably include an explicit check for this case:
asin x == if x = 1.0 then pi()/2 else atan(x/sqrt(1-x**2))