summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2019-09-04 15:29:19 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2019-09-04 15:29:19 +0000
commit4f56ca9b0ab8951409bcc32206e166ae141223ea (patch)
treec0decbf4b5449b5b4c4db90ce5933a7511df7459 /tests
parent7969c8c192fbb0b2f00408d3f852ff2b6eec362f (diff)
downloadmpfr-4f56ca9b0ab8951409bcc32206e166ae141223ea.tar.gz
[tests/tsub1sp.c] added non-regression test for bug in mpfr_sub1sp2n
[src/sub1sp.c] fixed that bug git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13600 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests')
-rw-r--r--tests/tsub1sp.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/tsub1sp.c b/tests/tsub1sp.c
index 33c707c25..2925a1a1b 100644
--- a/tests/tsub1sp.c
+++ b/tests/tsub1sp.c
@@ -390,6 +390,29 @@ bug20180813 (void)
mpfr_clear (c);
}
+/* bug in revision 13599 with tatan and GMP_CHECK_RANDOMIZE=1567609230659336:
+ the values are equal, but the ternary value differs between sub1 and sub1sp
+ (bug introduced with mpfr_sub1sp2n, does not affect the 4.0 branch) */
+static void
+bug20190904 (void)
+{
+ mpfr_t a, b, c;
+ int ret;
+
+ mpfr_init2 (a, 128);
+ mpfr_init2 (b, 128);
+ mpfr_init2 (c, 128);
+ mpfr_set_str_binary (b, "0.11001001000011111101101010100010001000010110100011000010001101001100010011000110011000101000101110000000110111000001110011010001E1");
+ mpfr_set_str_binary (c, "0.10010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000E-102");
+ ret = mpfr_sub (a, b, c, MPFR_RNDN);
+ mpfr_set_str_binary (b, "0.11001001000011111101101010100010001000010110100011000010001101001100010011000110011000101000101101111111101111000001110011010001E1");
+ MPFR_ASSERTN(mpfr_equal_p (a, b));
+ MPFR_ASSERTN(ret > 0);
+ mpfr_clear (a);
+ mpfr_clear (b);
+ mpfr_clear (c);
+}
+
int
main (void)
{
@@ -397,6 +420,7 @@ main (void)
tests_start_mpfr ();
+ bug20190904 ();
bug20180813 ();
bug20180217 (1024);
coverage ();