Annotation of OpenXM_contrib/gmp/mpfr/isinteger.c, Revision 1.1.1.1
1.1 ohara 1: /* mpfr_isinteger -- test if a mpfr variable is integer
2:
3: Copyright 2001 Free Software Foundation, Inc.
4:
5: This file is part of the MPFR Library.
6:
7: The MPFR 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 MPFR 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 MPFR 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 "gmp.h"
23: #include "gmp-impl.h"
24: #include "mpfr.h"
25: #include "mpfr-impl.h"
26:
27: int
28: mpfr_isinteger (mpfr_srcptr x)
29: {
30:
31: mpfr_t u;
32: int expo;
33: mp_prec_t prec;
34: int result;
35:
36: expo=(int)MPFR_EXP(x);
37: prec=MPFR_PREC(x);
38:
39: if (expo<=0)
40: return 0;
41:
42: if (expo>=prec)
43: return 1;
44:
45: mpfr_init2(u,prec);
46: mpfr_trunc(u,x);
47:
48: result = (mpfr_cmp (x,u) == 0);
49:
50: mpfr_clear (u);
51: return result;
52: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>