From dc0930a6acdae4a0ce14216f6786941201519071 Mon Sep 17 00:00:00 2001 From: Paul Zimmermann Date: Fri, 7 Feb 2020 10:53:40 +0100 Subject: mpcheck: report maximal error at the end --- tests/mpcheck-double.c | 2 ++ tests/mpcheck-float.c | 2 ++ tests/mpcheck-float128.c | 2 ++ tests/mpcheck-longdouble.c | 2 ++ tests/mpcheck-template1.c | 12 ++++++++++-- tests/mpcheck-template2.c | 6 +++++- tests/mpcheck-template3.c | 18 ++++++++++++++---- 7 files changed, 37 insertions(+), 7 deletions(-) diff --git a/tests/mpcheck-double.c b/tests/mpcheck-double.c index 8b93bad..0b4fd4d 100644 --- a/tests/mpcheck-double.c +++ b/tests/mpcheck-double.c @@ -229,5 +229,7 @@ main (int argc, char *argv[]) gmp_randclear (state); mpz_clear (expz); + report_maximal_errors (); + return 0; } diff --git a/tests/mpcheck-float.c b/tests/mpcheck-float.c index 0adb6b6..590d261 100644 --- a/tests/mpcheck-float.c +++ b/tests/mpcheck-float.c @@ -234,5 +234,7 @@ main (int argc, char *argv[]) gmp_randclear (state); mpz_clear (expz); + report_maximal_errors (); + return 0; } diff --git a/tests/mpcheck-float128.c b/tests/mpcheck-float128.c index cc929f3..38b88d8 100644 --- a/tests/mpcheck-float128.c +++ b/tests/mpcheck-float128.c @@ -239,5 +239,7 @@ main (int argc, char *argv[]) gmp_randclear (state); mpz_clear (expz); + report_maximal_errors (); + return 0; } diff --git a/tests/mpcheck-longdouble.c b/tests/mpcheck-longdouble.c index 5f9895e..d81b983 100644 --- a/tests/mpcheck-longdouble.c +++ b/tests/mpcheck-longdouble.c @@ -222,5 +222,7 @@ main (int argc, char *argv[]) gmp_randclear (state); mpz_clear (expz); + report_maximal_errors (); + return 0; } diff --git a/tests/mpcheck-template1.c b/tests/mpcheck-template1.c index b6074ee..3f05921 100644 --- a/tests/mpcheck-template1.c +++ b/tests/mpcheck-template1.c @@ -76,9 +76,17 @@ FUN (mpfr_prec_t p, unsigned long n) } errors ++; if (err_re > max_err_re) - max_err_re = err_re; + { + max_err_re = err_re; + if (max_err_re > Max_err_re) + Max_err_re = max_err_re; + } if (err_im > max_err_im) - max_err_im = err_im; + { + max_err_im = err_im; + if (max_err_im > Max_err_im) + Max_err_im = max_err_im; + } } } mpc_clear (x); diff --git a/tests/mpcheck-template2.c b/tests/mpcheck-template2.c index 4588093..3539c2d 100644 --- a/tests/mpcheck-template2.c +++ b/tests/mpcheck-template2.c @@ -68,7 +68,11 @@ FUN (mpfr_prec_t p, unsigned long n) } errors++; if (err > max_err) - max_err = err; + { + max_err = err; + if (max_err > Max_err) + Max_err = max_err; + } } } mpc_clear (x); diff --git a/tests/mpcheck-template3.c b/tests/mpcheck-template3.c index bb28a2a..c16d8de 100644 --- a/tests/mpcheck-template3.c +++ b/tests/mpcheck-template3.c @@ -38,6 +38,7 @@ FUN (mpfr_prec_t p, unsigned long n) TYPE complex xx, yy, zz; int inex; unsigned long errors = 0, max_err_re = 0, max_err_im = 0; + unsigned long special_errors = 0; int cmp; if (verbose > 0) @@ -61,9 +62,9 @@ FUN (mpfr_prec_t p, unsigned long n) zz = CFOO(xx, yy); mpc_set_type (t, zz, MPFR_RNDN); cmp = mpcheck_mpc_cmp (t, z); - if (cmp > 1) + if (cmp > 1) /* NaN or Inf */ { - if (verbose > 0) + if (verbose > 1 || (verbose == 1 && special_errors == 0)) { printf (" mpc_%s and c%s differ\n", BAR, BAR); mpfr_printf (" for x=(%Re,%Re)\n y=(%Re,%Re)\n", @@ -73,6 +74,7 @@ FUN (mpfr_prec_t p, unsigned long n) mpc_realref (z), mpc_imagref (z)); mpfr_printf (" c%s gives (%Re,%Re)\n", BAR, mpc_realref (t), mpc_imagref (t)); + special_errors ++; } errors ++; } @@ -94,9 +96,17 @@ FUN (mpfr_prec_t p, unsigned long n) } errors ++; if (err_re > max_err_re) - max_err_re = err_re; + { + max_err_re = err_re; + if (max_err_re > Max_err_re) + Max_err_re = max_err_re; + } if (err_im > max_err_im) - max_err_im = err_im; + { + max_err_im = err_im; + if (max_err_im > Max_err_im) + Max_err_im = max_err_im; + } } } mpc_clear (x); -- cgit v1.2.1