summaryrefslogtreecommitdiff
path: root/tests/tset.c
diff options
context:
space:
mode:
authorthevenyp <thevenyp@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2009-03-09 16:44:45 +0000
committerthevenyp <thevenyp@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2009-03-09 16:44:45 +0000
commit4b7b6c39294f1d7ae8899d29ac200632c7f27e7b (patch)
treec4485dda9d48f565f2e3bb502e9aa2b96e5b8175 /tests/tset.c
parent679df9dd2196689b290daabcfeb28d70f0d6e970 (diff)
downloadmpc-4b7b6c39294f1d7ae8899d29ac200632c7f27e7b.tar.gz
src/get_str.c: Fix bug when base != 10.
tests/tset.c: Check mpc_get_str/mpc_set_str with random bases from 2 to 36. git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@449 211d60ee-9f03-0410-a15a-8952a2c7a4e4
Diffstat (limited to 'tests/tset.c')
-rw-r--r--tests/tset.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/tests/tset.c b/tests/tset.c
index 29da766..8173062 100644
--- a/tests/tset.c
+++ b/tests/tset.c
@@ -227,6 +227,7 @@ check_set_str (mp_exp_t exp_max)
mpfr_prec_t prec;
mp_exp_t exp_min;
+ unsigned int base;
mpc_init2 (expected, 1024);
mpc_init2 (got, 1024);
@@ -244,14 +245,16 @@ check_set_str (mp_exp_t exp_max)
mpc_set_prec (got, prec);
mpc_set_prec (expected, prec);
+ base = 2 + (unsigned int) gmp_urandomm_ui (rands, 35);
+
mpfr_set_nan (MPC_RE (expected));
mpfr_set_inf (MPC_IM (expected), prec % 2 - 1);
- str = mpc_get_str (10, 0, expected, MPC_RNDNN);
+ str = mpc_get_str (base, 0, expected, MPC_RNDNN);
if (mpfr_nan_p (MPC_RE (got)) == 0
|| mpfr_cmp (MPC_IM (got), MPC_IM (expected)) != 0)
{
printf ("Error: mpc_set_str o mpc_get_str != Id\n"
- "with str=\"%s\"\n", str);
+ "in base %u with str=\"%s\"\n", base, str);
OUT (expected);
printf (" ");
OUT (got);
@@ -260,12 +263,12 @@ check_set_str (mp_exp_t exp_max)
mpc_free_str (str);
test_default_random (expected, exp_min, exp_max, 128, 25);
- str = mpc_get_str (10, 0, expected, MPC_RNDNN);
- if (mpc_set_str (got, str, 10, MPC_RNDNN) == -1
+ str = mpc_get_str (base, 0, expected, MPC_RNDNN);
+ if (mpc_set_str (got, str, base, MPC_RNDNN) == -1
|| mpc_cmp (got, expected) != 0)
{
printf ("Error: mpc_set_str o mpc_get_str != Id\n"
- "with str=\"%s\"\n", str);
+ "in base %u with str=\"%s\"\n", base, str);
OUT (expected);
printf (" ");
OUT (got);