summaryrefslogtreecommitdiff
path: root/tests/tcan_round.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2001-03-08 11:21:31 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2001-03-08 11:21:31 +0000
commitfe4db5054bdd1e8a8314a7164a9102600e560e51 (patch)
tree7f3986ee2fb19200225f02cb8c3578d45aad7c56 /tests/tcan_round.c
parentdefb4b853370a61f206505bc2d936d6a85fac98e (diff)
downloadmpfr-fe4db5054bdd1e8a8314a7164a9102600e560e51.tar.gz
added one test
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1017 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tcan_round.c')
-rw-r--r--tests/tcan_round.c35
1 files changed, 24 insertions, 11 deletions
diff --git a/tests/tcan_round.c b/tests/tcan_round.c
index 2717afdd2..9b5147e65 100644
--- a/tests/tcan_round.c
+++ b/tests/tcan_round.c
@@ -31,17 +31,30 @@ main (void)
/* checks that rounds to nearest sets the last
bit to zero in case of equal distance */
- mpfr_init2(x, 59);
- mpfr_set_str_raw(x, "-0.10010001010111000011110010111010111110000000111101100111111E663");
- if (mpfr_can_round(x, 54, GMP_RNDZ, GMP_RNDZ, 53) != 0) {
- fprintf(stderr, "Error in mpfr_can_round\n"); exit(1);
- }
-
- mpfr_set_str_raw(x, "-Inf");
- if (mpfr_can_round(x, 2000, GMP_RNDZ, GMP_RNDZ, 2000) != 0) {
- fprintf(stderr, "Error in mpfr_can_round\n"); exit(1);
- }
- mpfr_clear(x);
+ mpfr_init2 (x, 59);
+ mpfr_set_str_raw (x, "-0.10010001010111000011110010111010111110000000111101100111111E663");
+ if (mpfr_can_round (x, 54, GMP_RNDZ, GMP_RNDZ, 53) != 0)
+ {
+ fprintf (stderr, "Error (1) in mpfr_can_round\n");
+ exit (1);
+ }
+
+ mpfr_set_str_raw (x, "-Inf");
+ if (mpfr_can_round (x, 2000, GMP_RNDZ, GMP_RNDZ, 2000) != 0)
+ {
+ fprintf (stderr, "Error (2) in mpfr_can_round\n");
+ exit (1);
+ }
+
+ mpfr_set_prec (x, 64);
+ mpfr_set_str_raw (x, "0.1011001000011110000110000110001111101011000010001110011000000000");
+ if (mpfr_can_round (x, 65, GMP_RNDN, GMP_RNDN, 54))
+ {
+ fprintf (stderr, "Error (3) in mpfr_can_round\n");
+ exit (1);
+ }
+
+ mpfr_clear (x);
return 0;
}