summaryrefslogtreecommitdiff
path: root/get_d.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2006-01-19 14:53:44 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2006-01-19 14:53:44 +0000
commitaeb47f25a2660039249681d8143390c4396adced (patch)
tree182097eca901fb64674befcbab6ba84346878d4d /get_d.c
parent94ecb2d186119966e1332f6ba0c49b9418a4e618 (diff)
downloadmpfr-aeb47f25a2660039249681d8143390c4396adced.tar.gz
Replaced -0.0 by a new macro DBL_NEG_ZERO. With MSVC, the negative zero
no longer depends on the non-standard _chgsign function, as static double double_zero = 0.0; # define DBL_NEG_ZERO (-double_zero) has been reported to work. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4005 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'get_d.c')
-rw-r--r--get_d.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/get_d.c b/get_d.c
index 754d6d647..4d8a43a2c 100644
--- a/get_d.c
+++ b/get_d.c
@@ -167,7 +167,7 @@ mpfr_get_d (mpfr_srcptr src, mp_rnd_t rnd_mode)
return negative ? MPFR_DBL_INFM : MPFR_DBL_INFP;
MPFR_ASSERTD (MPFR_IS_ZERO(src));
- return negative ? -0.0 : 0.0;
+ return negative ? DBL_NEG_ZERO : 0.0;
}
e = MPFR_GET_EXP (src);
@@ -183,7 +183,7 @@ mpfr_get_d (mpfr_srcptr src, mp_rnd_t rnd_mode)
d = negative ?
(rnd_mode == GMP_RNDD ||
(rnd_mode == GMP_RNDN && mpfr_cmp_si_2exp(src, -1, -1075) < 0)
- ? -DBL_MIN : -0.0) :
+ ? -DBL_MIN : DBL_NEG_ZERO) :
(rnd_mode == GMP_RNDU ||
(rnd_mode == GMP_RNDN && mpfr_cmp_si_2exp(src, 1, -1075) > 0)
? DBL_MIN : 0.0);
@@ -261,7 +261,7 @@ mpfr_get_d_2exp (long *expptr, mpfr_srcptr src, mp_rnd_t rnd_mode)
if (MPFR_IS_INF (src))
return negative ? MPFR_DBL_INFM : MPFR_DBL_INFP;
MPFR_ASSERTD (MPFR_IS_ZERO(src));
- return negative ? -0.0 : 0.0;
+ return negative ? DBL_NEG_ZERO : 0.0;
}
tmp[0] = *src; /* Hack copy mpfr_t */