summaryrefslogtreecommitdiff
path: root/tests/tset_ld.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-09-08 13:24:00 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-09-08 13:24:00 +0000
commit396aa7643e1132f8ff181b444933b13a6fee1d1f (patch)
tree01fd135006cf6a4442c9f74962ed180a2257b2de /tests/tset_ld.c
parent826874373e08964008d391fa6fb5823757459357 (diff)
downloadmpfr-396aa7643e1132f8ff181b444933b13a6fee1d1f.tar.gz
[tests/tset_ld.c] Fixed a loop in case an extended range is used
(there are issues on a NetBSD machine, and this could be a cause). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@10819 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tset_ld.c')
-rw-r--r--tests/tset_ld.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/tset_ld.c b/tests/tset_ld.c
index 99b65d11c..3b73c3fae 100644
--- a/tests/tset_ld.c
+++ b/tests/tset_ld.c
@@ -370,15 +370,17 @@ static void
bug_20160907 (void)
{
#if HAVE_LDOUBLE_IEEE_EXT_LITTLE
- long double dn = 1.0, ld;
+ long double dn, ld, t = 1.0;
mpfr_t mp;
- long e = 0;
+ long e = 1;
- while (dn * (long double) 0.5 != 0)
+ do
{
- dn = dn * (long double) 0.5;
- e --;
+ e--;
+ dn = t;
+ t = dn * (long double) 0.5;
}
+ while (t != 0);
/* dn=2^e is now the smallest subnormal */
mpfr_init2 (mp, 64);