summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Zimmermann <Paul.Zimmermann@inria.fr>2020-02-07 10:53:40 +0100
committerPaul Zimmermann <Paul.Zimmermann@inria.fr>2020-02-07 10:53:40 +0100
commitdc0930a6acdae4a0ce14216f6786941201519071 (patch)
tree3050cf1ba82cd9c9213bc988a622c151e17060e1
parentd2b4e7a994a53577dfa7eb562f3acf57548b0751 (diff)
downloadmpc-git-dc0930a6acdae4a0ce14216f6786941201519071.tar.gz
mpcheck: report maximal error at the end
-rw-r--r--tests/mpcheck-double.c2
-rw-r--r--tests/mpcheck-float.c2
-rw-r--r--tests/mpcheck-float128.c2
-rw-r--r--tests/mpcheck-longdouble.c2
-rw-r--r--tests/mpcheck-template1.c12
-rw-r--r--tests/mpcheck-template2.c6
-rw-r--r--tests/mpcheck-template3.c18
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);