diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2019-09-04 15:29:19 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2019-09-04 15:29:19 +0000 |
commit | 4f56ca9b0ab8951409bcc32206e166ae141223ea (patch) | |
tree | c0decbf4b5449b5b4c4db90ce5933a7511df7459 /tests | |
parent | 7969c8c192fbb0b2f00408d3f852ff2b6eec362f (diff) | |
download | mpfr-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.c | 24 |
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 (); |