summaryrefslogtreecommitdiff
path: root/tests/tset_ld.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-09-12 09:08:38 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2016-09-12 09:08:38 +0000
commit9dfef496bb20deb8ece851b6517b105c2e0d337c (patch)
treead8b2d7d916e18a9c2fb0bf7d8a90e7d5785a0fe /tests/tset_ld.c
parent95bab37506ffcdf66176c4b93e15965e5a793d4e (diff)
downloadmpfr-9dfef496bb20deb8ece851b6517b105c2e0d337c.tar.gz
[tests/tset_ld.c] Added a test that triggers a failure with gcc -mpc64
on x86 (64-bit ABI). git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@10845 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tset_ld.c')
-rw-r--r--tests/tset_ld.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/tset_ld.c b/tests/tset_ld.c
index 7b349a297..ebe6d04f9 100644
--- a/tests/tset_ld.c
+++ b/tests/tset_ld.c
@@ -549,7 +549,7 @@ main (int argc, char *argv[])
check_set_get (d);
check_set_get (-d);
- /* check that 2^i, 2^i+1 and 2^i-1 are correctly converted */
+ /* check that 2^i, 2^i+1, 2^i-1 and 2^i-2^(i-2)-1 are correctly converted */
d = 1.0;
for (i = 1; i < MPFR_LDBL_MANT_DIG + 8; i++)
{
@@ -573,6 +573,14 @@ main (int argc, char *argv[])
e = mpfr_get_ld (x, MPFR_RNDN);
check_set_get (e);
}
+ if (i < 3)
+ continue;
+ /* The following test triggers a failure in r10844 for i = 56,
+ with gcc -mpc64 on x86 (64-bit ABI). */
+ mpfr_set_ui_2exp (x, 3, i-2, MPFR_RNDN);
+ mpfr_sub_ui (x, x, 1, MPFR_RNDN);
+ e = mpfr_get_ld (x, MPFR_RNDN);
+ check_set_get (e);
}
for (i = 0; i < 10000; i++)