summaryrefslogtreecommitdiff
path: root/tests/mpz
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gmplib.org>2009-05-09 22:02:39 +0200
committerTorbjorn Granlund <tege@gmplib.org>2009-05-09 22:02:39 +0200
commit294e9ec0c1106924aa37c049019f7fb3e2ffc803 (patch)
tree2ccec40a911429cc19a4440e75aacb0111920cc8 /tests/mpz
parent0c4f76ba0680251d8be5251baae07434523521f0 (diff)
downloadgmp-294e9ec0c1106924aa37c049019f7fb3e2ffc803.tar.gz
Invoke GMP_CHECK_FORMAT for many results.
Diffstat (limited to 'tests/mpz')
-rw-r--r--tests/mpz/reuse.c83
-rw-r--r--tests/mpz/t-pow.c2
-rw-r--r--tests/mpz/t-powm.c3
-rw-r--r--tests/mpz/t-powm_ui.c3
-rw-r--r--tests/mpz/t-root.c8
-rw-r--r--tests/mpz/t-sqrtrem.c3
6 files changed, 100 insertions, 2 deletions
diff --git a/tests/mpz/reuse.c b/tests/mpz/reuse.c
index 7ad66f22a..257e9abfa 100644
--- a/tests/mpz/reuse.c
+++ b/tests/mpz/reuse.c
@@ -250,14 +250,17 @@ main (int argc, char **argv)
continue;
(dss_funcs[i]) (ref1, in1, in2);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
(dss_funcs[i]) (res1, res1, in2);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL (dss, i, in1, in2, NULL);
mpz_set (res1, in2);
(dss_funcs[i]) (res1, in1, res1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL (dss, i, in1, in2, NULL);
}
@@ -270,24 +273,34 @@ main (int argc, char **argv)
continue;
(ddss_div_funcs[i]) (ref1, ref2, in1, in2);
+ MPZ_CHECK_FORMAT (ref1);
+ MPZ_CHECK_FORMAT (ref2);
mpz_set (res1, in1);
(ddss_div_funcs[i]) (res1, res2, res1, in2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL (ddss_div, i, in1, in2, NULL);
mpz_set (res2, in1);
(ddss_div_funcs[i]) (res1, res2, res2, in2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL (ddss_div, i, in1, in2, NULL);
mpz_set (res1, in2);
(ddss_div_funcs[i]) (res1, res2, in1, res1);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL (ddss_div, i, in1, in2, NULL);
mpz_set (res2, in2);
(ddss_div_funcs[i]) (res1, res2, in1, res2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL (ddss_div, i, in1, in2, NULL);
}
@@ -301,9 +314,11 @@ main (int argc, char **argv)
continue;
(ds_funcs[i]) (ref1, in1);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
(ds_funcs[i]) (res1, res1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL (ds, i, in1, in2, NULL);
}
@@ -327,9 +342,11 @@ main (int argc, char **argv)
in2i %= 0x10;
(dsi_funcs[i]) (ref1, in1, in2i);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
(dsi_funcs[i]) (res1, res1, in2i);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL (dsi, i, in1, in2, NULL);
}
@@ -339,9 +356,11 @@ main (int argc, char **argv)
for (i = 0; i < sizeof (dsi_div_funcs) / sizeof (dsi_div_funcs); i++)
{
r1 = (dsi_div_funcs[i]) (ref1, in1, in2i);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
r2 = (dsi_div_funcs[i]) (res1, res1, in2i);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0 || r1 != r2)
FAIL (dsi_div, i, in1, in2, NULL);
}
@@ -349,14 +368,17 @@ main (int argc, char **argv)
for (i = 0; i < sizeof (ddsi_div_funcs) / sizeof (ddsi_div_funcs); i++)
{
r1 = (ddsi_div_funcs[i]) (ref1, ref2, in1, in2i);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
r2 = (ddsi_div_funcs[i]) (res1, res2, res1, in2i);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0 || r1 != r2)
FAIL (ddsi_div, i, in1, in2, NULL);
mpz_set (res2, in1);
(ddsi_div_funcs[i]) (res1, res2, res2, in2i);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0 || r1 != r2)
FAIL (ddsi_div, i, in1, in2, NULL);
}
@@ -365,14 +387,20 @@ main (int argc, char **argv)
if (mpz_sgn (in1) >= 0)
{
mpz_sqrtrem (ref1, ref2, in1);
+ MPZ_CHECK_FORMAT (ref1);
+ MPZ_CHECK_FORMAT (ref2);
mpz_set (res1, in1);
mpz_sqrtrem (res1, res2, res1);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL2 (mpz_sqrtrem, in1, NULL, NULL);
mpz_set (res2, in1);
mpz_sqrtrem (res1, res2, res2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL2 (mpz_sqrtrem, in1, NULL, NULL);
}
@@ -380,9 +408,11 @@ main (int argc, char **argv)
if (mpz_sgn (in1) >= 0)
{
mpz_root (ref1, in1, in2i % 0x1000 + 1);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
mpz_root (res1, res1, in2i % 0x1000 + 1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_root, in1, in2, NULL);
}
@@ -390,14 +420,20 @@ main (int argc, char **argv)
if (mpz_sgn (in1) >= 0)
{
mpz_rootrem (ref1, ref2, in1, in2i % 0x1000 + 1);
+ MPZ_CHECK_FORMAT (ref1);
+ MPZ_CHECK_FORMAT (ref2);
mpz_set (res1, in1);
mpz_rootrem (res1, res2, res1, in2i % 0x1000 + 1);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL2 (mpz_rootrem, in1, in2, NULL);
mpz_set (res2, in1);
mpz_rootrem (res1, res2, res2, in2i % 0x1000 + 1);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0)
FAIL2 (mpz_rootrem, in1, in2, NULL);
}
@@ -405,63 +441,92 @@ main (int argc, char **argv)
if (pass < reps / 2) /* run fewer tests since gcdext lots of time */
{
mpz_gcdext (ref1, ref2, ref3, in1, in2);
+ MPZ_CHECK_FORMAT (ref1);
+ MPZ_CHECK_FORMAT (ref2);
+ MPZ_CHECK_FORMAT (ref3);
mpz_set (res1, in1);
mpz_gcdext (res1, res2, res3, res1, in2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
+ MPZ_CHECK_FORMAT (res3);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res2, in1);
mpz_gcdext (res1, res2, res3, res2, in2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
+ MPZ_CHECK_FORMAT (res3);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res3, in1);
mpz_gcdext (res1, res2, res3, res3, in2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
+ MPZ_CHECK_FORMAT (res3);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res1, in2);
mpz_gcdext (res1, res2, res3, in1, res1);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
+ MPZ_CHECK_FORMAT (res3);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res2, in2);
mpz_gcdext (res1, res2, res3, in1, res2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
+ MPZ_CHECK_FORMAT (res3);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res3, in2);
mpz_gcdext (res1, res2, res3, in1, res3);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
+ MPZ_CHECK_FORMAT (res3);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res1, in1);
mpz_gcdext (res1, res2, NULL, res1, in2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res2, in1);
mpz_gcdext (res1, res2, NULL, res2, in2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res1, in2);
mpz_gcdext (res1, res2, NULL, in1, res1);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
mpz_set (res2, in2);
mpz_gcdext (res1, res2, NULL, in1, res2);
+ MPZ_CHECK_FORMAT (res1);
+ MPZ_CHECK_FORMAT (res2);
if (mpz_cmp (ref1, res1) != 0 || mpz_cmp (ref2, res2) != 0
|| mpz_cmp (ref3, res3) != 0)
FAIL2 (mpz_gcdext, in1, in2, NULL);
@@ -472,19 +537,23 @@ main (int argc, char **argv)
&& (mpz_sgn (in2) >= 0 || mpz_invert (t, in1, in3)))
{
mpz_powm (ref1, in1, in2, in3);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
mpz_powm (res1, res1, in2, in3);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_powm, in1, in2, in3);
mpz_set (res1, in2);
mpz_powm (res1, in1, res1, in3);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_powm, in1, in2, in3);
mpz_set (res1, in3);
mpz_powm (res1, in1, in2, res1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_powm, in1, in2, in3);
}
@@ -493,23 +562,28 @@ main (int argc, char **argv)
if (mpz_sgn (in3) != 0)
{
mpz_powm_ui (ref1, in1, in2i, in3);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
mpz_powm_ui (res1, res1, in2i, in3);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_powm_ui, in1, in2, in3);
mpz_set (res1, in3);
mpz_powm_ui (res1, in1, in2i, res1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_powm_ui, in1, in2, in3);
}
{
r1 = mpz_gcd_ui (ref1, in1, in2i);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
r2 = mpz_gcd_ui (res1, res1, in2i);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_gcd_ui, in1, in2, NULL);
}
@@ -518,14 +592,17 @@ main (int argc, char **argv)
{
/* Test mpz_remove */
mpz_remove (ref1, in1, in2);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, in1);
mpz_remove (res1, res1, in2);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_remove, in1, in2, NULL);
mpz_set (res1, in2);
mpz_remove (res1, in1, res1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_remove, in1, in2, NULL);
}
@@ -535,14 +612,17 @@ main (int argc, char **argv)
/* Test mpz_divexact */
mpz_mul (t, in1, in2);
mpz_divexact (ref1, t, in2);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, t);
mpz_divexact (res1, res1, in2);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_divexact, t, in2, NULL);
mpz_set (res1, in2);
mpz_divexact (res1, t, res1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_divexact, t, in2, NULL);
}
@@ -552,14 +632,17 @@ main (int argc, char **argv)
/* Test mpz_divexact_gcd, same as mpz_divexact */
mpz_mul (t, in1, in2);
mpz_divexact_gcd (ref1, t, in2);
+ MPZ_CHECK_FORMAT (ref1);
mpz_set (res1, t);
mpz_divexact_gcd (res1, res1, in2);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_divexact_gcd, t, in2, NULL);
mpz_set (res1, in2);
mpz_divexact_gcd (res1, t, res1);
+ MPZ_CHECK_FORMAT (res1);
if (mpz_cmp (ref1, res1) != 0)
FAIL2 (mpz_divexact_gcd, t, in2, NULL);
}
diff --git a/tests/mpz/t-pow.c b/tests/mpz/t-pow.c
index cdf6deaf4..d6373ea9a 100644
--- a/tests/mpz/t-pow.c
+++ b/tests/mpz/t-pow.c
@@ -32,6 +32,8 @@ check_one (mpz_srcptr want, mpz_srcptr base, unsigned long exp)
mpz_init (got);
+ MPZ_CHECK_FORMAT (want);
+
mpz_pow_ui (got, base, exp);
if (mpz_cmp (got, want))
{
diff --git a/tests/mpz/t-powm.c b/tests/mpz/t-powm.c
index a0b84f7a4..662080acf 100644
--- a/tests/mpz/t-powm.c
+++ b/tests/mpz/t-powm.c
@@ -1,4 +1,4 @@
-/* Test mpz_powm, mpz_mul. mpz_mod, mpz_mod_ui, mpz_div_ui.
+/* Test mpz_powm, mpz_mul, mpz_mod, mpz_mod_ui, mpz_div_ui.
Copyright 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2009 Free Software
Foundation, Inc.
@@ -89,6 +89,7 @@ main (int argc, char **argv)
/* printf ("%ld %ld %ld\n", SIZ (base), SIZ (exp), SIZ (mod)); */
mpz_powm (r1, base, exp, mod);
+ MPZ_CHECK_FORMAT (r1);
mpz_set_ui (r2, 1);
mpz_mod (base2, base, mod);
diff --git a/tests/mpz/t-powm_ui.c b/tests/mpz/t-powm_ui.c
index 732664752..224e60481 100644
--- a/tests/mpz/t-powm_ui.c
+++ b/tests/mpz/t-powm_ui.c
@@ -1,4 +1,4 @@
-/* Test mpz_powm_ui, mpz_mul. mpz_mod.
+/* Test mpz_powm_ui, mpz_mul, mpz_mod.
Copyright 1991, 1993, 1994, 1996, 1997, 2000, 2001, 2002 Free Software
Foundation, Inc.
@@ -96,6 +96,7 @@ main (int argc, char **argv)
#endif
mpz_powm_ui (r1, base, exp2, mod);
+ MPZ_CHECK_FORMAT (r1);
mpz_set_ui (r2, 1);
mpz_set (base2, base);
diff --git a/tests/mpz/t-root.c b/tests/mpz/t-root.c
index 86af70e59..22fd31c7f 100644
--- a/tests/mpz/t-root.c
+++ b/tests/mpz/t-root.c
@@ -37,8 +37,15 @@ check_one (mpz_t root1, mpz_t x2, unsigned long nth, int i)
mpz_init (temp);
mpz_init (temp2);
+ MPZ_CHECK_FORMAT (root1);
+
mpz_rootrem (root2, rem2, x2, nth);
+ MPZ_CHECK_FORMAT (root2);
+ MPZ_CHECK_FORMAT (rem2);
+
mpz_pow_ui (temp, root1, nth);
+ MPZ_CHECK_FORMAT (temp);
+
mpz_add (temp2, temp, rem2);
/* Is power of result > argument? */
@@ -65,6 +72,7 @@ check_one (mpz_t root1, mpz_t x2, unsigned long nth, int i)
{
mpz_add_ui (temp2, root1, 1L);
mpz_pow_ui (temp2, temp2, nth);
+ MPZ_CHECK_FORMAT (temp2);
/* Is square of (result + 1) <= argument? */
if (mpz_cmp (temp2, x2) <= 0)
diff --git a/tests/mpz/t-sqrtrem.c b/tests/mpz/t-sqrtrem.c
index d6ebf8e4b..976b9a6e0 100644
--- a/tests/mpz/t-sqrtrem.c
+++ b/tests/mpz/t-sqrtrem.c
@@ -67,6 +67,9 @@ main (int argc, char **argv)
/* printf ("%ld\n", SIZ (x2)); */
mpz_sqrtrem (x, rem, x2);
+ MPZ_CHECK_FORMAT (x);
+ MPZ_CHECK_FORMAT (rem);
+
mpz_mul (temp, x, x);
/* Is square of result > argument? */