Annotation of OpenXM_contrib/gmp/mpfr/tests/texp2.c, Revision 1.1.1.1
1.1 ohara 1: /* Test file for mpfr_exp2.
2:
3: Copyright 2001 Free Software Foundation.
4: Adapted from tarctan.c.
5:
6: This file is part of the MPFR Library.
7:
8: The MPFR Library is free software; you can redistribute it and/or modify
9: it under the terms of the GNU Lesser General Public License as published by
10: the Free Software Foundation; either version 2.1 of the License, or (at your
11: option) any later version.
12:
13: The MPFR Library is distributed in the hope that it will be useful, but
14: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15: or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16: License for more details.
17:
18: You should have received a copy of the GNU Lesser General Public License
19: along with the MPFR Library; see the file COPYING.LIB. If not, write to
20: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
21: MA 02111-1307, USA. */
22:
23: #include <stdio.h>
24: #include <stdlib.h>
25: #include "gmp.h"
26: #include "gmp-impl.h"
27: #include "mpfr.h"
28: #include "mpfr-impl.h"
29: #include "mpfr-test.h"
30:
31: #define TEST_FUNCTION mpfr_exp2
32: #include "tgeneric.c"
33:
34: int
35: main (int argc, char *argv[])
36: {
37: mpfr_t x, y;
38:
39: mpfr_init (x);
40: mpfr_init (y);
41:
42: mpfr_set_prec (x, 53);
43: mpfr_set_prec (y, 53);
44: mpfr_set_d (x, -1683977482443233.0 / 2199023255552.0, GMP_RNDN);
45: mpfr_exp2 (y, x, GMP_RNDN);
46: if (mpfr_get_d1 (y) != 2.991959870867646566478e-231)
47: {
48: fprintf (stderr, "Error for x=-1683977482443233/2^41\n");
49: exit (1);
50: }
51:
52: MPFR_CLEAR_NAN(x);
53: MPFR_SET_INF(x);
54: MPFR_SET_POS(x);
55: mpfr_exp2 (y, x, GMP_RNDN);
56: if(!MPFR_IS_INF(y))
57: {
58: fprintf (stderr, "evaluation of function in INF does not return INF\n");
59: exit (1);
60: }
61:
62: MPFR_CHANGE_SIGN(x);
63: mpfr_exp2 (y, x, GMP_RNDN);
64: if(!MPFR_IS_ZERO(y))
65: {
66: fprintf (stderr, "evaluation of function in -INF does not return 0\n");
67: exit (1);
68: }
69:
70: MPFR_SET_NAN(x);
71: mpfr_exp2 (y, x, GMP_RNDN);
72: if(!MPFR_IS_NAN(y))
73: {
74: fprintf (stderr, "evaluation of function in NaN does not return NaN\n");
75: exit (1);
76: }
77:
78: test_generic (2, 100, 100);
79:
80: mpfr_clear (x);
81: mpfr_clear (y);
82:
83: return 0;
84: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>