summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2012-06-30 15:34:26 +0000
committerenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2012-06-30 15:34:26 +0000
commit53272512e9f00f3560f437549bd73a89c2cc4022 (patch)
tree549a595b3ca08f780e9440c9d884e4c84ca9116c
parentcab9937d64bf3156debeeaf21bbe13ac7b648a31 (diff)
downloadmpc-53272512e9f00f3560f437549bd73a89c2cc4022.tar.gz
log.c: added forgotten early abort in first algorithm
log.dat: whitespace git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@1217 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r--src/log.c2
-rw-r--r--tests/log.dat2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/log.c b/src/log.c
index 1140fa2..f60fee1 100644
--- a/src/log.c
+++ b/src/log.c
@@ -121,7 +121,7 @@ mpc_log (mpc_ptr rop, mpc_srcptr op, mpc_rnd_t rnd){
/* loop for the real part: 1/2 log (x^2 + y^2), fast, but unsafe */
/* implementation */
ok = 0;
- for (loops = 1; loops <= 2; loops++) {
+ for (loops = 1; !ok && loops <= 2; loops++) {
prec += mpc_ceil_log2 (prec) + 4;
mpfr_set_prec (w, prec);
diff --git a/tests/log.dat b/tests/log.dat
index 3da5eb2..f3e639d 100644
--- a/tests/log.dat
+++ b/tests/log.dat
@@ -181,7 +181,7 @@
- + 2 0 2 0x1p-1073741824 2 1 2 0x1p-1073741824 N N
- - 2 0 2 0 2 1 2 0x1p-1073741824 D D
+ + 2 0x1p-1073741824 2 0x1p-1073741824 2 1 2 0x1p-1073741824 U U
-#log (eps + i)
+# log (eps + i)
- - 2 0 2 0x3p-1 2 0x1p-1073741824 2 1 N N
- - 2 0 2 0x3p-1 2 0x1p-1073741824 2 1 D D
+ + 2 0x1p-1073741824 2 2 2 0x1p-1073741824 2 1 U U