diff options
author | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2010-07-15 10:03:25 +0000 |
---|---|---|
committer | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2010-07-15 10:03:25 +0000 |
commit | b569bba30b5377b5aa261288dfc36db7ac046bb0 (patch) | |
tree | 11d0edcbaf3e30c1155b9d3c3ff8fcf4620537c5 /BUGS | |
parent | e415170bb6ff7d313da31dbadc54af379c015553 (diff) | |
download | mpc-b569bba30b5377b5aa261288dfc36db7ac046bb0.tar.gz |
sin.c: reverted r795 and r796 and applied simple fix for overflow
BUGS: clarified handling of intermediate overflow
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@802 211d60ee-9f03-0410-a15a-8952a2c7a4e4
Diffstat (limited to 'BUGS')
-rw-r--r-- | BUGS | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -1,5 +1,10 @@ -- No checks are made for intermediate overflows, which may occur - in the middle of the algorithms although the final result - may be representable. - More precisely for cos(x+i*y) = cos(x)*cosh(y) - sin(x)*sinh(y)*I, - if an overflow occurs in cosh(y), we assume cos(x)*cosh(y) overflows too. +- No checks are made for intermediate over- or underflows, which may occur + in the middle of the algorithms although the final result may be + representable. + For instance, if in the computation of Im (cos(x+i*y)) = -sin(x)*sinh(y) + an overflow occurs in sinh(y), the value sign(Im (cos(x+i*y))) * inf + is returned, even if sin(x) is sufficiently close to 0 such that + sin(x)*sinh(y) is representable. If furthermore an underflow occurred + in sin(x) (which has not been observed in practice), then the return + value would be NaN*(+-inf)=NaN. + |