From 95f8d03abbfefb0a3d54b71e19c75165be332f97 Mon Sep 17 00:00:00 2001 From: thevenyp Date: Wed, 8 Jul 2009 09:46:52 +0000 Subject: vasprintf.c: Fix bug in precision 0 with format %.0Rf (0.5 rounds to 0). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@6325 280ebfd0-de03-0410-8827-d642c229c3f4 --- vasprintf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'vasprintf.c') diff --git a/vasprintf.c b/vasprintf.c index 219d1ec3d..fa6f16940 100644 --- a/vasprintf.c +++ b/vasprintf.c @@ -1322,8 +1322,9 @@ regular_fg (struct number_parts *np, mpfr_srcptr p, if ((spec.rnd_mode == MPFR_RNDD && MPFR_IS_NEG (p)) || (spec.rnd_mode == MPFR_RNDU && MPFR_IS_POS (p)) - || (spec.rnd_mode == MPFR_RNDN && mpfr_cmp_d (y, 0.5) >= 0)) - /* rounded up to 1: one digit '1' in integral part */ + || (spec.rnd_mode == MPFR_RNDN && mpfr_cmp_d (y, 0.5) > 0)) + /* rounded up to 1: one digit '1' in integral part. + note that 0.5 is rounded to 0 with RNDN (round ties to even) */ np->ip_ptr[0] = '1'; } else -- cgit v1.2.1