diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2007-05-02 14:23:11 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2007-05-02 14:23:11 +0000 |
commit | e9aacf8d80ab67ac4d033c198fde34d65e3d8852 (patch) | |
tree | 0ba3aaea12993fdf0218535c5df61a2ebb9f987e /tests/tremquo.c | |
parent | 92951f9a61b0e1901ca26d0e07793409a71e1617 (diff) | |
download | mpfr-e9aacf8d80ab67ac4d033c198fde34d65e3d8852.tar.gz |
argument quo of remquo is now a pointer to long instead of int
added new functions in NEWS
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4423 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tremquo.c')
-rw-r--r-- | tests/tremquo.c | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/tests/tremquo.c b/tests/tremquo.c index 90a2bec46..c9c4ec71d 100644 --- a/tests/tremquo.c +++ b/tests/tremquo.c @@ -29,7 +29,7 @@ int main (int argc, char *argv[]) { mpfr_t x, y, r; - int q[1]; + long q[1]; tests_start_mpfr (); @@ -67,20 +67,20 @@ main (int argc, char *argv[]) mpfr_set_inf (y, 1); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_ui (r, 0) == 0 && MPFR_IS_POS (r)); - MPFR_ASSERTN (q[0] == 0); + MPFR_ASSERTN (q[0] == (long) 0); mpfr_set_ui (x, 0, GMP_RNDN); mpfr_neg (x, x, GMP_RNDN); /* -0 */ mpfr_set_inf (y, 1); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_ui (r, 0) == 0 && MPFR_IS_NEG (r)); - MPFR_ASSERTN (q[0] == 0); + MPFR_ASSERTN (q[0] == (long) 0); mpfr_set_ui (x, 17, GMP_RNDN); mpfr_set_inf (y, 1); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp (r, x) == 0); - MPFR_ASSERTN (q[0] == 0); + MPFR_ASSERTN (q[0] == (long) 0); mpfr_set_ui (x, 17, GMP_RNDN); mpfr_set_ui (y, 0, GMP_RNDN); @@ -91,14 +91,14 @@ main (int argc, char *argv[]) mpfr_set_ui (y, 17, GMP_RNDN); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_ui (r, 0) == 0 && MPFR_IS_POS (r)); - MPFR_ASSERTN (q[0] == 0); + MPFR_ASSERTN (q[0] == (long) 0); mpfr_set_ui (x, 0, GMP_RNDN); mpfr_neg (x, x, GMP_RNDN); mpfr_set_ui (y, 17, GMP_RNDN); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_ui (r, 0) == 0 && MPFR_IS_NEG (r)); - MPFR_ASSERTN (q[0] == 0); + MPFR_ASSERTN (q[0] == (long) 0); mpfr_set_prec (x, 53); mpfr_set_prec (y, 53); @@ -107,13 +107,13 @@ main (int argc, char *argv[]) mpfr_set_ui (y, 17, GMP_RNDN); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_ui (r, 8) == 0); - MPFR_ASSERTN (q[0] == 2); + MPFR_ASSERTN (q[0] == (long) 2); mpfr_set_si (x, -42, GMP_RNDN); mpfr_set_ui (y, 17, GMP_RNDN); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_si (r, -8) == 0); - MPFR_ASSERTN (q[0] == -2); + MPFR_ASSERTN (q[0] == (long) -2); mpfr_set_prec (x, 100); mpfr_set_prec (y, 50); @@ -122,7 +122,7 @@ main (int argc, char *argv[]) mpfr_set_ui (y, 21, GMP_RNDN); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_ui_2exp (r, 1, -94) == 0); - MPFR_ASSERTN (q[0] == 2); + MPFR_ASSERTN (q[0] == (long) 2); mpfr_set_prec (x, 50); mpfr_set_prec (y, 100); @@ -131,7 +131,7 @@ main (int argc, char *argv[]) mpfr_set_ui (y, 21, GMP_RNDN); mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_ui_2exp (r, 1, -44) == 0); - MPFR_ASSERTN (q[0] == 2); + MPFR_ASSERTN (q[0] == (long) 2); mpfr_set_prec (x, 100); mpfr_set_prec (y, 50); @@ -141,7 +141,7 @@ main (int argc, char *argv[]) mpfr_remquo (r, q, x, y, GMP_RNDN); /* r should be 42 - 2*(21 + 2^(-45)) = -2^(-44) */ MPFR_ASSERTN (mpfr_cmp_si_2exp (r, -1, -44) == 0); - MPFR_ASSERTN (q[0] == 2); + MPFR_ASSERTN (q[0] == (long) 2); mpfr_set_prec (x, 50); mpfr_set_prec (y, 100); @@ -151,16 +151,15 @@ main (int argc, char *argv[]) mpfr_remquo (r, q, x, y, GMP_RNDN); /* r should be 42 - 2*(21 + 2^(-95)) = -2^(-94) */ MPFR_ASSERTN (mpfr_cmp_si_2exp (r, -1, -94) == 0); - MPFR_ASSERTN (q[0] == 2); + MPFR_ASSERTN (q[0] == (long) 2); /* exercise large quotient */ mpfr_set_ui_2exp (x, 1, 65, GMP_RNDN); mpfr_set_ui (y, 1, GMP_RNDN); - /* quotient is 2^65, i.e. has 66 bits, and should thus be split on two - consecutive limbs */ + /* quotient is 2^65 */ mpfr_remquo (r, q, x, y, GMP_RNDN); MPFR_ASSERTN (mpfr_cmp_si (r, 0) == 0); - MPFR_ASSERTN (q[0] == 0); + MPFR_ASSERTN (q[0] % 2147483648L == 0L); /* another large quotient */ mpfr_set_prec (x, 65); @@ -172,7 +171,7 @@ main (int argc, char *argv[]) mpfr_remquo (r, q, x, y, GMP_RNDN); /* q should be 41803643793084085130, r should be 605/2048 */ MPFR_ASSERTN (mpfr_cmp_ui_2exp (r, 605, -11) == 0); - MPFR_ASSERTN (q[0] == 2); + MPFR_ASSERTN (q[0] % 2147483648L == 1807577994L); /* check cases where quotient is 1.5 +/- eps */ mpfr_set_prec (x, 65); @@ -183,7 +182,7 @@ main (int argc, char *argv[]) mpfr_remquo (r, q, x, y, GMP_RNDN); /* x/y = 1.5, quotient should be 2 (even rule), remainder should be -1 */ MPFR_ASSERTN (mpfr_cmp_si (r, -1) == 0); - MPFR_ASSERTN (q[0] = 2); + MPFR_ASSERTN (q[0] = 2L); mpfr_set_ui (x, 3, GMP_RNDN); mpfr_nextabove (x); /* 3 + 2^(-63) */ mpfr_set_ui (y, 2, GMP_RNDN); @@ -191,7 +190,7 @@ main (int argc, char *argv[]) /* x/y = 1.5 + 2^(-64), quo should be 2, r should be -1 + 2^(-63) */ MPFR_ASSERTN (mpfr_add_ui (r, r, 1, GMP_RNDN) == 0); MPFR_ASSERTN (mpfr_cmp_ui_2exp (r, 1, -63) == 0); - MPFR_ASSERTN (q[0] = 2); + MPFR_ASSERTN (q[0] = 2L); mpfr_set_ui (x, 3, GMP_RNDN); mpfr_set_ui (y, 2, GMP_RNDN); mpfr_nextabove (y); /* 2 + 2^(-63) */ @@ -199,7 +198,7 @@ main (int argc, char *argv[]) /* x/y = 1.5 - eps, quo should be 1, r should be 1 - 2^(-63) */ MPFR_ASSERTN (mpfr_sub_ui (r, r, 1, GMP_RNDN) == 0); MPFR_ASSERTN (mpfr_cmp_si_2exp (r, -1, -63) == 0); - MPFR_ASSERTN (q[0] = 1); + MPFR_ASSERTN (q[0] = 1L); mpfr_clear (x); mpfr_clear (y); |