summaryrefslogtreecommitdiff
path: root/tests/pow.dat
diff options
context:
space:
mode:
authorzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2009-06-26 15:19:26 +0000
committerzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2009-06-26 15:19:26 +0000
commit552b9c61ef3414b4bccc12baa284edc300d71f44 (patch)
treea07fcef193936a8217890f89a7e1c85823c54b4e /tests/pow.dat
parent4510207b6d07466bab534b9e22f7d66995f7915b (diff)
downloadmpc-552b9c61ef3414b4bccc12baa284edc300d71f44.tar.gz
[pow.c] more work on cases with sign of zero as input/output
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@618 211d60ee-9f03-0410-a15a-8952a2c7a4e4
Diffstat (limited to 'tests/pow.dat')
-rw-r--r--tests/pow.dat12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/pow.dat b/tests/pow.dat
index da4f19e..d58865a 100644
--- a/tests/pow.dat
+++ b/tests/pow.dat
@@ -161,8 +161,13 @@
0 0 53 +inf 53 nan 53 +0 53 +0 53 -inf 53 -1 N N
0 0 53 +1 53 +0 53 +0 53 +1 53 +0 53 +0 N N
-# (1-0*I)^(+0+0*I) -> 1-0*I
+# zero cases from algorithms.tex
+# (1+0*i)^(-0+0*i) -> 1-0*i
+0 0 53 +1 53 -0 53 +1 53 +0 53 -0 53 +0 N N
+# (1-0*i)^(+0+0*i) -> 1-0*i
0 0 53 +1 53 -0 53 +1 53 -0 53 +0 53 +0 N N
+# (1-0*i)^(-0-0*i) -> 1+0*i
+0 0 53 +1 53 +0 53 +1 53 -0 53 -0 53 -0 N N
# exact cases
# (-4)^(1/4) = 1+i
@@ -176,6 +181,11 @@
0 0 2 -0x1p-18 2 0x1p-18 2 -0x1p14 2 0 3 -0x5p-2 3 0 N N
# e=2 n=5
0 0 2 -0x1p-13 2 0x1p-13 2 -0x1p10 2 0 3 -0x5p-2 3 0 N N
+# (+2 +0)^(-3 -0) -> (-1/8 -0)
+# x = 2 + epsilon*i, y = -3 - delta*i
+# log(x) = log(2) + epsilon/2*i + O(epsilon^2)
+# y*log(x) = [-3*log(2) + o(1)] + [-3*epsilon/2-delta*log(2)]*i
+0 0 2 0x1p-3 2 -0 2 2 2 +0 2 -3 2 -0 N N
0 0 2 +0 2 -2 2 +0 2 0x1p-1 2 -1 2 -0 N N
0 - 2 +0 3 -5 2 +0 53 0xCCCCCCCCCCCCDp-54 2 -1 2 -0 N N
- 0 5 -25 2 +0 2 +0 53 0xCCCCCCCCCCCCDp-54 2 -2 2 -0 N N