Annotation of OpenXM_contrib/gmp/tests/mpf/t-int_p.c, Revision 1.1.1.1
1.1 ohara 1: /* Test mpf_integer_p.
2:
3: Copyright 2001 Free Software Foundation, Inc.
4:
5: This file is part of the GNU MP Library.
6:
7: The GNU MP Library is free software; you can redistribute it and/or modify
8: it under the terms of the GNU Lesser General Public License as published by
9: the Free Software Foundation; either version 2.1 of the License, or (at your
10: option) any later version.
11:
12: The GNU MP Library is distributed in the hope that it will be useful, but
13: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15: License for more details.
16:
17: You should have received a copy of the GNU Lesser General Public License
18: along with the GNU MP Library; see the file COPYING.LIB. If not, write to
19: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
20: MA 02111-1307, USA. */
21:
22: #include <stdio.h>
23: #include <stdlib.h>
24: #include "gmp.h"
25: #include "gmp-impl.h"
26: #include "tests.h"
27:
28:
29: void
30: one (mpf_srcptr f, int want)
31: {
32: int got;
33: got = mpf_integer_p (f);
34: if (got != want)
35: {
36: printf ("mpf_integer_p got %d want %d\n", got, want);
37: mpf_trace (" f", f);
38: abort ();
39: }
40: }
41:
42: void
43: all (mpf_ptr f, int want)
44: {
45: one (f, want);
46: mpf_neg (f, f);
47: one (f, want);
48: }
49:
50: int
51: main (void)
52: {
53: mpf_t f;
54:
55: tests_start ();
56: mpf_init2 (f, 200L);
57:
58: mpf_set_ui (f, 0L);
59: one (f, 1);
60:
61: mpf_set_ui (f, 1L);
62: all (f, 1);
63:
64: mpf_set_ui (f, 1L);
65: mpf_div_2exp (f, f, 1L);
66: all (f, 0);
67:
68: mpf_set_ui (f, 1L);
69: mpf_div_2exp (f, f, 5000L);
70: all (f, 0);
71:
72: mpf_set_ui (f, 1L);
73: mpf_mul_2exp (f, f, 5000L);
74: all (f, 1);
75:
76: mpf_set_str (f, "0.5", 10);
77: all (f, 0);
78:
79: mpf_set_ui (f, 1L);
80: mpf_div_ui (f, f, 3L);
81: all (f, 0);
82:
83: mpf_clear (f);
84: tests_end ();
85: exit (0);
86: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>