summaryrefslogtreecommitdiff
path: root/log2.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-12-22 15:42:49 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-12-22 15:42:49 +0000
commit33459ca8b23c84f53590bdb063fc5d4a1bb97d9c (patch)
treef664fab9539de7a4cbbeced929e4d7bb05a19e6a /log2.c
parent1b864f44cb0b1aa164c712d87730404186349268 (diff)
downloadmpfr-33459ca8b23c84f53590bdb063fc5d4a1bb97d9c.tar.gz
removed #if 0 (on Alpha with cc the enclosed code was still used
since the # was not in the first column) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@947 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'log2.c')
-rw-r--r--log2.c32
1 files changed, 12 insertions, 20 deletions
diff --git a/log2.c b/log2.c
index 73020edbb..0c8688eac 100644
--- a/log2.c
+++ b/log2.c
@@ -21,9 +21,9 @@ MA 02111-1307, USA. */
#include <stdio.h>
#include "gmp.h"
-#include "gmp-impl.h"
#include "longlong.h"
#include "mpfr.h"
+#include "gmp-impl.h"
#include "mpfr-impl.h"
mpfr_t __mpfr_const_log2; /* stored value of log(2) */
@@ -153,27 +153,19 @@ mpfr_const_log2 (x, rnd_mode) mpfr_ptr x; mp_rnd_t rnd_mode;
oldN = N;
N = precx + _mpfr_ceil_log2 ((double) N);
} while (N != oldN);
- mpz_init_set_ui(s,0);
- mpz_init(u);
- mpz_init_set_ui(t,1);
- #if 0
- /* use log(2) = sum(1/k/2^k, k=1..infinity) */
- mpz_mul_2exp(t, t, N);
- for (k=1;k<N;k++) {
- mpz_div_2exp(t, t, 1);
- mpz_fdiv_q_ui(u, t, k);
- mpz_add(s, s, u);
- }
- #else
+ mpz_init (s); /* set to zero */
+ mpz_init (u);
+ mpz_init_set_ui (t, 1);
+
/* use log(2) = sum((6*k-1)/(2*k^2-k)/2^(2*k+1), k=1..infinity) */
- mpz_mul_2exp(t, t, N-1);
- for (k=1;k<N/2;k++) {
- mpz_div_2exp(t, t, 2);
- mpz_mul_ui(u, t, 6*k-1);
- mpz_fdiv_q_ui(u, u, k*(2*k-1));
- mpz_add(s, s, u);
+ mpz_mul_2exp (t, t, N-1);
+ for (k=1; k<N/2; k++) {
+ mpz_div_2exp (t, t, 2);
+ mpz_mul_ui (u, t, 6*k-1);
+ mpz_fdiv_q_ui (u, u, k*(2*k-1));
+ mpz_add (s, s, u);
}
- #endif
+
mpfr_set_z(x, s, rnd_mode);
MPFR_EXP(x) -= N;
mpz_clear(s); mpz_clear(t); mpz_clear(u);