diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2003-09-24 22:32:40 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2003-09-24 22:32:40 +0000 |
commit | 788b255e420f8d4ba0f0b43ce87b00b62d60a896 (patch) | |
tree | ab61feb20fd18f316aca30d1da9b7983a6f9d9fd /tests/ttrunc.c | |
parent | a7589b2a6e3e129bb0aea18469ecfa399e0f31f2 (diff) | |
download | mpfr-788b255e420f8d4ba0f0b43ce87b00b62d60a896.tar.gz |
Changed some stderr to stdout.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2448 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/ttrunc.c')
-rw-r--r-- | tests/ttrunc.c | 213 |
1 files changed, 114 insertions, 99 deletions
diff --git a/tests/ttrunc.c b/tests/ttrunc.c index a28828482..dedaa36de 100644 --- a/tests/ttrunc.c +++ b/tests/ttrunc.c @@ -1,6 +1,6 @@ /* Test file for mpfr_trunc, mpfr_ceil, mpfr_floor. -Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of the MPFR Library. @@ -31,117 +31,132 @@ MA 02111-1307, USA. */ int main (void) { - int j, k; mpfr_t x, y, z, t, y2, z2, t2; + int j, k; mpfr_t x, y, z, t, y2, z2, t2; tests_start_mpfr (); - mpfr_init2(x, SIZEX); - mpfr_init2(y, SIZEX); - mpfr_init2(z, SIZEX); - mpfr_init2(t, SIZEX); - mpfr_init2(y2, SIZEX); - mpfr_init2(z2, SIZEX); + mpfr_init2(x, SIZEX); + mpfr_init2(y, SIZEX); + mpfr_init2(z, SIZEX); + mpfr_init2(t, SIZEX); + mpfr_init2(y2, SIZEX); + mpfr_init2(z2, SIZEX); mpfr_init2(t2, SIZEX); mpfr_set_d(x, 0.5, GMP_RNDN); mpfr_ceil(y, x); - if (mpfr_get_d1 (y) != 1.0) { - fprintf(stderr, "Error in mpfr_ceil for x=0.5: expected 1.0, got %f\n", - mpfr_get_d1 (y)); exit(1); - } + if (mpfr_get_d1 (y) != 1.0) + { + printf ("Error in mpfr_ceil for x=0.5: expected 1.0, got %f\n", + mpfr_get_d1 (y)); + exit (1); + } mpfr_set_d(x, 0.0, GMP_RNDN); mpfr_ceil(y, x); - if (mpfr_get_d1 (y) != 0.0) { - fprintf(stderr, "Error in mpfr_ceil for x=0.0: expected 0.0, got %f\n", - mpfr_get_d1 (y)); exit(1); - } + if (mpfr_get_d1 (y) != 0.0) + { + printf ("Error in mpfr_ceil for x=0.0: expected 0.0, got %f\n", + mpfr_get_d1 (y)); + exit (1); + } mpfr_set_d(x, 1.0, GMP_RNDN); mpfr_ceil(y, x); - if (mpfr_get_d1 (y) != 1.0) { - fprintf(stderr, "Error in mpfr_ceil for x=1.0: expected 1.0, got %f\n", - mpfr_get_d1 (y)); exit(1); - } - - for (j=0;j<1000;j++) { - - mpfr_random(x); - MPFR_EXP(x) = 2; - - for (k = 2; k <= SIZEX; k++) - { - mpfr_set_prec(y, k); - mpfr_set_prec(y2, k); - mpfr_set_prec(z, k); - mpfr_set_prec(z2, k); - mpfr_set_prec(t, k); - mpfr_set_prec(t2, k); - - mpfr_floor(y, x); - mpfr_set(y2, x, GMP_RNDD); - - mpfr_trunc(z, x); - mpfr_set(z2, x, GMP_RNDZ); - - mpfr_ceil(t, x); - mpfr_set(t2, x, GMP_RNDU); - - if (!mpfr_eq(y, y2, k)) - { - printf("Error in floor, x = "); mpfr_print_binary(x); printf("\n"); - printf("floor(x) = "); mpfr_print_binary(y); printf("\n"); - printf("round(x, RNDD) = "); mpfr_print_binary(y2); printf("\n"); - mpfr_clear(x); - mpfr_clear(y); - mpfr_clear(y2); - mpfr_clear(z); - mpfr_clear(z2); - mpfr_clear(t); - mpfr_clear(t2); - exit(-1); - } - - if (!mpfr_eq(z, z2, k)) - { - printf("Error in trunc, x = "); mpfr_print_binary(x); printf("\n"); - printf("trunc(x) = "); mpfr_print_binary(z); printf("\n"); - printf("round(x, RNDZ) = "); mpfr_print_binary(z2); printf("\n"); - mpfr_clear(x); - mpfr_clear(y); - mpfr_clear(y2); - mpfr_clear(z); - mpfr_clear(z2); - mpfr_clear(t); - mpfr_clear(t2); - exit(-1); - } - - if (!mpfr_eq(y, y2, k)) - { - printf("Error in ceil, x = "); mpfr_print_binary(x); printf("\n"); - printf("ceil(x) = "); mpfr_print_binary(t); printf("\n"); - printf("round(x, RNDU) = "); mpfr_print_binary(t2); printf("\n"); - mpfr_clear(x); - mpfr_clear(y); - mpfr_clear(y2); - mpfr_clear(z); - mpfr_clear(z2); - mpfr_clear(t); - mpfr_clear(t2); - exit(-1); - } - MPFR_EXP(x)++; - } - } - - mpfr_clear(x); - mpfr_clear(y); - mpfr_clear(y2); - mpfr_clear(z); - mpfr_clear(z2); - mpfr_clear(t); - mpfr_clear(t2); + if (mpfr_get_d1 (y) != 1.0) + { + printf ("Error in mpfr_ceil for x=1.0: expected 1.0, got %f\n", + mpfr_get_d1 (y)); + exit (1); + } + + for (j=0;j<1000;j++) + { + mpfr_random (x); + MPFR_EXP (x) = 2; + + for (k = 2; k <= SIZEX; k++) + { + mpfr_set_prec(y, k); + mpfr_set_prec(y2, k); + mpfr_set_prec(z, k); + mpfr_set_prec(z2, k); + mpfr_set_prec(t, k); + mpfr_set_prec(t2, k); + + mpfr_floor(y, x); + mpfr_set(y2, x, GMP_RNDD); + + mpfr_trunc(z, x); + mpfr_set(z2, x, GMP_RNDZ); + + mpfr_ceil(t, x); + mpfr_set(t2, x, GMP_RNDU); + + if (!mpfr_eq(y, y2, k)) + { + printf("Error in floor, x = "); mpfr_print_binary(x); + printf("\n"); + printf("floor(x) = "); mpfr_print_binary(y); + printf("\n"); + printf("round(x, RNDD) = "); mpfr_print_binary(y2); + printf("\n"); + mpfr_clear(x); + mpfr_clear(y); + mpfr_clear(y2); + mpfr_clear(z); + mpfr_clear(z2); + mpfr_clear(t); + mpfr_clear(t2); + exit(-1); + } + + if (!mpfr_eq(z, z2, k)) + { + printf("Error in trunc, x = "); mpfr_print_binary(x); + printf("\n"); + printf("trunc(x) = "); mpfr_print_binary(z); + printf("\n"); + printf("round(x, RNDZ) = "); mpfr_print_binary(z2); + printf("\n"); + mpfr_clear(x); + mpfr_clear(y); + mpfr_clear(y2); + mpfr_clear(z); + mpfr_clear(z2); + mpfr_clear(t); + mpfr_clear(t2); + exit(-1); + } + + if (!mpfr_eq(y, y2, k)) + { + printf("Error in ceil, x = "); mpfr_print_binary(x); + printf("\n"); + printf("ceil(x) = "); mpfr_print_binary(t); + printf("\n"); + printf("round(x, RNDU) = "); mpfr_print_binary(t2); + printf("\n"); + mpfr_clear(x); + mpfr_clear(y); + mpfr_clear(y2); + mpfr_clear(z); + mpfr_clear(z2); + mpfr_clear(t); + mpfr_clear(t2); + exit(-1); + } + MPFR_EXP(x)++; + } + } + + mpfr_clear(x); + mpfr_clear(y); + mpfr_clear(y2); + mpfr_clear(z); + mpfr_clear(z2); + mpfr_clear(t); + mpfr_clear(t2); tests_end_mpfr (); return 0; |