summaryrefslogtreecommitdiff
path: root/BUGS
diff options
context:
space:
mode:
authorenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2010-07-15 10:03:25 +0000
committerenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2010-07-15 10:03:25 +0000
commitb569bba30b5377b5aa261288dfc36db7ac046bb0 (patch)
tree11d0edcbaf3e30c1155b9d3c3ff8fcf4620537c5 /BUGS
parente415170bb6ff7d313da31dbadc54af379c015553 (diff)
downloadmpc-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--BUGS15
1 files changed, 10 insertions, 5 deletions
diff --git a/BUGS b/BUGS
index 68bcd23..b7ded65 100644
--- a/BUGS
+++ b/BUGS
@@ -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.
+