diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2006-01-19 14:53:44 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2006-01-19 14:53:44 +0000 |
commit | aeb47f25a2660039249681d8143390c4396adced (patch) | |
tree | 182097eca901fb64674befcbab6ba84346878d4d /get_d.c | |
parent | 94ecb2d186119966e1332f6ba0c49b9418a4e618 (diff) | |
download | mpfr-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.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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 */ |