summaryrefslogtreecommitdiff
path: root/set_d.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>1999-06-14 07:49:06 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>1999-06-14 07:49:06 +0000
commit09ba9b5aa8bc80fbe867537be575966499af0c87 (patch)
treec1d7bc6eb4c3a995ef1e946e5d4c7832803eada4 /set_d.c
parentebebca8cd48a23f50c4d0cdffd8c80f7268751e3 (diff)
downloadmpfr-09ba9b5aa8bc80fbe867537be575966499af0c87.tar.gz
added mpfr_get_d2 which only considers the mantissa
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@34 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'set_d.c')
-rw-r--r--set_d.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/set_d.c b/set_d.c
index 64bc05aeb..1bd0465f2 100644
--- a/set_d.c
+++ b/set_d.c
@@ -234,9 +234,8 @@ mpfr_set_d(mpfr_t r, double d, unsigned char rnd_mode)
return;
}
-
double
-mpfr_get_d(mpfr_t src)
+mpfr_get_d2(mpfr_srcptr src, long e)
{
double res;
mp_size_t size, i, n_limbs_to_use;
@@ -269,8 +268,14 @@ mpfr_get_d(mpfr_t src)
for (i = n_limbs_to_use; i>=1; i--)
res = res / MP_BASE_AS_DOUBLE +
((negative) ? -(double)qp[size - i] : qp[size - i]);
- res = __mpfr_scale2 (res, EXP(src) - BITS_PER_MP_LIMB);
+ res = __mpfr_scale2 (res, e - BITS_PER_MP_LIMB);
return res;
}
+double
+mpfr_get_d(mpfr_srcptr src)
+{
+ mpfr_get_d2(src, EXP(src));
+}
+