summaryrefslogtreecommitdiff
path: root/tests/tmul.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2011-02-14 22:17:37 +0000
committerzimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2011-02-14 22:17:37 +0000
commite4f5061d447c30332319c6ba7d35dd6bf209ad05 (patch)
treeab73d2125fd23da8c9baf75ccda7ab3857462df9 /tests/tmul.c
parent54f73922452ca979b18946e1c7fa2b0018345b01 (diff)
downloadmpc-e4f5061d447c30332319c6ba7d35dd6bf209ad05.tar.gz
[tmul.c] added bug found by Emmanuel Thome (infinite loop)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@920 211d60ee-9f03-0410-a15a-8952a2c7a4e4
Diffstat (limited to 'tests/tmul.c')
-rw-r--r--tests/tmul.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/tmul.c b/tests/tmul.c
index e7a6f86..f5e0155 100644
--- a/tests/tmul.c
+++ b/tests/tmul.c
@@ -199,6 +199,31 @@ timemul (void)
}
#endif
+/* bug reported by Emmanuel Thome */
+static void
+bug20110214 (void)
+{
+ mpc_t u, v, w;
+ mpz_t z;
+
+ mpc_init2 (u, 3000);
+ mpc_init2 (v, 3000);
+ mpc_init2 (w, 3000);
+ mpz_init (z);
+ mpz_ui_pow_ui (z, 47, 541);
+ mpfr_set_z_2exp (mpc_realref (u), z, 500000000, GMP_RNDN);
+ mpz_ui_pow_ui (z, 23, 664);
+ mpfr_set_z_2exp (mpc_imagref (u), z, 500000000, GMP_RNDN);
+ mpz_ui_pow_ui (z, 31, 606);
+ mpfr_set_z_2exp (mpc_realref (v), z, 900000000, GMP_RNDN);
+ mpz_ui_pow_ui (z, 101, 451);
+ mpfr_set_z_2exp (mpc_imagref (v), z, 900000000, GMP_RNDN);
+ mpc_mul (w, u, v, MPC_RNDNN);
+ mpc_clear (u);
+ mpc_clear (v);
+ mpc_clear (w);
+}
+
int
main (void)
{
@@ -211,6 +236,7 @@ main (void)
timemul ();
#endif
+ bug20110214 ();
check_regular ();
data_check (f, "mul.dat");