summaryrefslogtreecommitdiff
path: root/tests/tremquo.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2007-05-02 14:23:11 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2007-05-02 14:23:11 +0000
commite9aacf8d80ab67ac4d033c198fde34d65e3d8852 (patch)
tree0ba3aaea12993fdf0218535c5df61a2ebb9f987e /tests/tremquo.c
parent92951f9a61b0e1901ca26d0e07793409a71e1617 (diff)
downloadmpfr-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.c37
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);