diff options
author | boldo <boldo@280ebfd0-de03-0410-8827-d642c229c3f4> | 1999-07-07 08:00:09 +0000 |
---|---|---|
committer | boldo <boldo@280ebfd0-de03-0410-8827-d642c229c3f4> | 1999-07-07 08:00:09 +0000 |
commit | accc9a0b7bf7ea937184f7a9ce59c99982ada020 (patch) | |
tree | 01c8da392b14da17af94c64f85453fb8797b0082 /agm.c | |
parent | e44b355242a0d4f62c0594dad17bee74d03f9d9e (diff) | |
download | mpfr-accc9a0b7bf7ea937184f7a9ce59c99982ada020.tar.gz |
using sqrt3
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@335 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'agm.c')
-rw-r--r-- | agm.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -91,15 +91,15 @@ mpfr_agm(r, a, b, rnd_mode) eq=0; err=ceil((3.0/2.0*log((double)p)/log(2.0)+1.0)*exp(-(double)p*log(2.0))+3.0*exp(-2.0*(double)p*uo*log(2.0)/(vo-uo))); - if(p-err-1<=q) { - p=q+err+2; + if(p-err-3<=q) { + p=q+err+4; err=ceil((3.0/2.0*log((double)p)/log(2.0)+1.0)*exp(-(double)p*log(2.0))+3.0*exp(-2.0*(double)p*uo*log(2.0)/(vo-uo))); } /* Calculus of un and vn */ while (eq<=p-2) { mpfr_mul(tmp,u,v,GMP_RNDN); - mpfr_sqrt(tmpu,tmp,GMP_RNDN); + mpfr_sqrt3(tmpu,tmp,GMP_RNDN); mpfr_add(tmp,u,v,GMP_RNDN); mpfr_div_2exp(tmpv,tmp,1,GMP_RNDN); mpfr_set(u,tmpu,GMP_RNDN); |