[BACK]Return to mpfr.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp / mpfr

Annotation of OpenXM_contrib/gmp/mpfr/mpfr.h, Revision 1.1.1.2

1.1       maekawa     1: /* mpfr.h -- Include file for mpfr.
                      2:
1.1.1.2 ! ohara       3: Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1.1       maekawa     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
1.1.1.2 ! ohara       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
1.1       maekawa    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
1.1.1.2 ! ohara      14: or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
1.1       maekawa    15: License for more details.
                     16:
1.1.1.2 ! ohara      17: You should have received a copy of the GNU Lesser General Public License
1.1       maekawa    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:
1.1.1.2 ! ohara      22: #ifndef __MPFR_H
        !            23: #define __MPFR_H
1.1       maekawa    24:
1.1.1.2 ! ohara      25: /* check if stdio.h is included */
        !            26: #if defined (FILE) || defined (H_STDIO) || defined (_H_STDIO) \
        !            27:  || defined (_STDIO_H) || defined (_STDIO_H_) || defined (__STDIO_H__) \
        !            28:  || defined (_STDIO_INCLUDED) || defined (__dj_include_stdio_h_)
        !            29: #define _MPFR_H_HAVE_FILE 1
1.1       maekawa    30: #endif
                     31:
                     32: /* Definition of rounding modes */
                     33:
                     34: #define GMP_RNDN 0
                     35: #define GMP_RNDZ 1
                     36: #define GMP_RNDU 2
                     37: #define GMP_RNDD 3
                     38:
1.1.1.2 ! ohara      39: /* Definition of exponent limits */
        !            40:
        !            41: #define MPFR_EMAX_DEFAULT ((mp_exp_t) (((unsigned long) 1 << 31) - 1))
        !            42: #define MPFR_EMIN_DEFAULT (-(MPFR_EMAX_DEFAULT))
        !            43:
        !            44: #define MPFR_EMIN_MIN MPFR_EMIN_DEFAULT
        !            45: #define MPFR_EMIN_MAX MPFR_EMAX_DEFAULT
        !            46: #define MPFR_EMAX_MIN MPFR_EMIN_DEFAULT
        !            47: #define MPFR_EMAX_MAX MPFR_EMAX_DEFAULT
        !            48:
        !            49: /* Flags */
        !            50:
        !            51: #define MPFR_FLAGS_UNDERFLOW 1
        !            52: #define MPFR_FLAGS_OVERFLOW 2
        !            53: #define MPFR_FLAGS_NAN 4
        !            54: #define MPFR_FLAGS_INEXACT 8
        !            55: #define MPFR_FLAGS_ALL 15
        !            56:
1.1       maekawa    57: /* Definitions of types and their semantics */
                     58:
1.1.1.2 ! ohara      59: typedef unsigned long int mp_prec_t; /* easy to change if necessary */
        !            60: #define MPFR_PREC_MIN 2
        !            61: #define MPFR_PREC_MAX (ULONG_MAX >> 1)
        !            62: /* Limit mainly due to the multiplication code. */
        !            63:
        !            64: typedef int mp_rnd_t;
        !            65:
1.1       maekawa    66: typedef struct {
1.1.1.2 ! ohara      67:   mp_prec_t _mpfr_prec; /* WARNING : for the mpfr type, the precision */
1.1       maekawa    68:                               /* should be understood as the number of BITS,*/
                     69:                              /* not the number of mp_limb_t's. This means  */
                     70:                              /* that the corresponding number of allocated
                     71:                                 limbs is >= ceil(_mp_prec/BITS_PER_MP_LIMB) */
1.1.1.2 ! ohara      72:   mp_size_t _mpfr_size;         /* MPFR_ABSSIZE(.) is the number of allocated
1.1       maekawa    73:                                 limbs the field _mp_d points to.
1.1.1.2 ! ohara      74:                                 The sign is that of _mpfr_size.
1.1       maekawa    75:                                 The number 0 is such that _mp_d[k-1]=0
                     76:                                 where k = ceil(_mp_prec/BITS_PER_MP_LIMB) */
1.1.1.2 ! ohara      77:   mp_exp_t _mpfr_exp;
        !            78:   mp_limb_t *_mpfr_d;
1.1       maekawa    79: }
                     80: __mpfr_struct;
                     81:
                     82: /*
                     83:    The number represented is
                     84:
1.1.1.2 ! ohara      85:     sign(_mpfr_size)*(_mpfr_d[k-1]/B+_mpfr_d[k-2]/B^2+...+_mpfr_d[0]/B^k)*2^_mpfr_exp
1.1       maekawa    86:
                     87:    where k=ceil(_mp_prec/BITS_PER_MP_LIMB) and B=2^BITS_PER_MP_LIMB.
                     88:
                     89:    For the msb (most significant bit) normalized representation, we must have
1.1.1.2 ! ohara      90:    _mpfr_d[k-1]>=B/2, unless the number is zero (in that case its sign is still
        !            91:    given by sign(_mpfr_size)).
1.1       maekawa    92:
                     93:    We must also have the last k*BITS_PER_MP_LIMB-_mp_prec bits set to zero.
                     94: */
                     95:
                     96: typedef __mpfr_struct mpfr_t[1];
                     97: typedef __mpfr_struct *mpfr_ptr;
                     98: typedef __gmp_const __mpfr_struct *mpfr_srcptr;
                     99:
1.1.1.2 ! ohara     100: #define MPFR_SIGN(x) (((x)->_mpfr_size >> 31) ? -1 : 1)
1.1       maekawa   101:
                    102: /* Prototypes */
                    103:
                    104: #ifndef _PROTO
                    105: #if defined (__STDC__) || defined (__cplusplus)
                    106: #define _PROTO(x) x
                    107: #else
                    108: #define _PROTO(x) ()
                    109: #endif
                    110: #endif
                    111:
1.1.1.2 ! ohara     112: /* _PROTO will be renamed __GMP_PROTO in gmp 4.1 */
        !           113: #ifndef __GMP_PROTO
        !           114: #define __GMP_PROTO(x) _PROTO(x)
        !           115: #endif
        !           116:
        !           117: #if defined (__cplusplus)
        !           118: extern "C" {
        !           119: #endif
        !           120:
        !           121: extern unsigned int __mpfr_flags;
        !           122: extern mp_exp_t __mpfr_emin;
        !           123: extern mp_exp_t __mpfr_emax;
        !           124: mp_exp_t mpfr_get_emin _PROTO ((void));
        !           125: int mpfr_set_emin _PROTO ((mp_exp_t));
        !           126: mp_exp_t mpfr_get_emax _PROTO ((void));
        !           127: int mpfr_set_emax _PROTO ((mp_exp_t));
        !           128: void mpfr_clear_flags _PROTO ((void));
        !           129: void mpfr_clear_underflow _PROTO ((void));
        !           130: void mpfr_clear_overflow _PROTO ((void));
        !           131: void mpfr_clear_nanflag _PROTO ((void));
        !           132: void mpfr_clear_inexflag _PROTO ((void));
        !           133: int mpfr_check_range _PROTO ((mpfr_ptr, mp_rnd_t));
        !           134: int mpfr_underflow_p _PROTO ((void));
        !           135: int mpfr_overflow_p _PROTO ((void));
        !           136: int mpfr_nanflag_p _PROTO ((void));
        !           137: int mpfr_inexflag_p _PROTO ((void));
        !           138:
        !           139: void mpfr_init2 _PROTO ((mpfr_ptr, mp_prec_t));
        !           140: void mpfr_init _PROTO ((mpfr_ptr));
        !           141: int mpfr_round_prec _PROTO ((mpfr_ptr, mp_rnd_t, mp_prec_t));
        !           142: int mpfr_can_round _PROTO ((mpfr_ptr, mp_exp_t, mp_rnd_t, mp_rnd_t,
        !           143:                            mp_prec_t));
        !           144: int mpfr_set_d _PROTO ((mpfr_ptr, double, mp_rnd_t));
        !           145: int mpfr_set_z _PROTO ((mpfr_ptr, mpz_srcptr, mp_rnd_t));
        !           146: void mpfr_set_nan _PROTO ((mpfr_ptr));
        !           147: void mpfr_set_inf _PROTO ((mpfr_ptr, int));
        !           148: mp_exp_t mpfr_get_z_exp _PROTO ((mpz_ptr, mpfr_srcptr));
        !           149: int mpfr_set_q _PROTO ((mpfr_ptr, mpq_srcptr, mp_rnd_t));
        !           150: double mpfr_get_d1 _PROTO ((mpfr_srcptr));
        !           151: double mpfr_get_d _PROTO ((mpfr_srcptr, mp_rnd_t));
        !           152: int mpfr_set_f _PROTO ((mpfr_ptr, mpf_srcptr, mp_rnd_t));
        !           153: int mpfr_set_si _PROTO ((mpfr_ptr, long, mp_rnd_t));
        !           154: int mpfr_set_ui _PROTO ((mpfr_ptr, unsigned long, mp_rnd_t));
        !           155: void mpfr_print_binary _PROTO ((mpfr_srcptr));
        !           156: void mpfr_random _PROTO ((mpfr_ptr));
        !           157: void mpfr_random2 _PROTO ((mpfr_ptr, mp_size_t, mp_exp_t));
        !           158: void mpfr_urandomb _PROTO ((mpfr_ptr, gmp_randstate_t));
1.1       maekawa   159: void mpfr_clear _PROTO ((mpfr_ptr));
1.1.1.2 ! ohara     160: void mpfr_set_str_raw _PROTO ((mpfr_ptr, char *));
        !           161: int mpfr_set_str _PROTO ((mpfr_ptr, __gmp_const char *, int, mp_rnd_t));
        !           162: int mpfr_init_set_str _PROTO ((mpfr_ptr, char *, int, mp_rnd_t));
        !           163: char* mpfr_get_str _PROTO ((char *, mp_exp_t *, int, size_t, mpfr_srcptr, mp_rnd_t));
        !           164: #ifdef _MPFR_H_HAVE_FILE
        !           165: size_t mpfr_inp_str _PROTO ((mpfr_ptr, FILE *, int, mp_rnd_t));
        !           166: size_t mpfr_out_str _PROTO ((FILE *, int, size_t, mpfr_srcptr, mp_rnd_t));
        !           167: #endif
        !           168: int mpfr_mul _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           169: int mpfr_pow_ui _PROTO ((mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t));
        !           170: int mpfr_ui_pow_ui _PROTO ((mpfr_ptr, unsigned long int, unsigned long int,
        !           171:                             mp_rnd_t));
        !           172: int mpfr_div _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           173: void mpfr_agm _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           174: int mpfr_sqrt _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           175: int mpfr_sqrt_ui _PROTO ((mpfr_ptr, unsigned long, mp_rnd_t));
        !           176: int mpfr_add _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           177: int mpfr_add_ui _PROTO ((mpfr_ptr, mpfr_srcptr, unsigned long, mp_rnd_t));
        !           178: int mpfr_sub_ui _PROTO ((mpfr_ptr, mpfr_srcptr, unsigned long, mp_rnd_t));
        !           179: int mpfr_add_one_ulp _PROTO ((mpfr_ptr, mp_rnd_t));
        !           180: int mpfr_sub _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           181: int mpfr_ui_sub _PROTO ((mpfr_ptr, unsigned long, mpfr_srcptr, mp_rnd_t));
        !           182: void mpfr_reldiff _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           183: void mpfr_const_pi _PROTO ((mpfr_ptr, mp_rnd_t));
        !           184: void mpfr_const_log2 _PROTO ((mpfr_ptr, mp_rnd_t));
        !           185: int mpfr_const_euler _PROTO ((mpfr_ptr, mp_rnd_t));
        !           186: int mpfr_log _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           187: int mpfr_exp _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           188: int mpfr_exp2 _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           189: int mpfr_sin _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           190: int mpfr_sin_cos _PROTO ((mpfr_ptr, mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           191: int mpfr_cos _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           192: int mpfr_tan _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           193: int mpfr_mul_ui _PROTO((mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t));
        !           194: void mpfr_set_machine_rnd_mode _PROTO ((mp_rnd_t));
1.1       maekawa   195: int mpfr_cmp_ui_2exp _PROTO ((mpfr_srcptr, unsigned long int, int));
                    196: int mpfr_cmp_si_2exp _PROTO ((mpfr_srcptr, long int, int));
1.1.1.2 ! ohara     197: int mpfr_mul_2exp _PROTO((mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t));
        !           198: int mpfr_div_2exp _PROTO((mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t));
        !           199: int mpfr_mul_2ui _PROTO((mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t));
        !           200: int mpfr_div_2ui _PROTO((mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t));
        !           201: int mpfr_mul_2si _PROTO((mpfr_ptr, mpfr_srcptr, long int, mp_rnd_t));
        !           202: int mpfr_div_2si _PROTO((mpfr_ptr, mpfr_srcptr, long int, mp_rnd_t));
        !           203: int mpfr_set_prec _PROTO((mpfr_ptr, mp_prec_t));
        !           204: void mpfr_set_prec_raw _PROTO((mpfr_ptr, mp_prec_t));
        !           205: void mpfr_set_default_prec _PROTO((mp_prec_t));
        !           206: mp_prec_t mpfr_get_default_prec _PROTO((void));
        !           207: extern mp_prec_t __mpfr_default_fp_bit_precision;
        !           208: extern mp_rnd_t __gmp_default_rounding_mode;
        !           209: char * mpfr_print_rnd_mode _PROTO((mp_rnd_t));
        !           210: int mpfr_neg _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           211: int mpfr_sub_one_ulp _PROTO((mpfr_ptr, mp_rnd_t));
        !           212: int mpfr_div_ui _PROTO((mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t));
        !           213: int mpfr_ui_div _PROTO((mpfr_ptr, unsigned long int, mpfr_srcptr, mp_rnd_t));
        !           214: mp_prec_t mpfr_get_prec _PROTO((mpfr_srcptr));
        !           215: void mpfr_set_default_rounding_mode _PROTO((mp_rnd_t));
        !           216: int mpfr_eq _PROTO((mpfr_srcptr, mpfr_srcptr, unsigned long));
        !           217: int mpfr_rint _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           218: int mpfr_round _PROTO((mpfr_ptr, mpfr_srcptr));
        !           219: int mpfr_trunc _PROTO((mpfr_ptr, mpfr_srcptr));
        !           220: int mpfr_ceil _PROTO((mpfr_ptr, mpfr_srcptr));
        !           221: int mpfr_floor _PROTO((mpfr_ptr, mpfr_srcptr));
        !           222: void mpfr_extract _PROTO((mpz_ptr, mpfr_srcptr, unsigned int));
        !           223: void mpfr_swap _PROTO((mpfr_ptr, mpfr_ptr));
        !           224: void mpfr_dump _PROTO((mpfr_srcptr, mp_rnd_t));
        !           225: int mpfr_set4 _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t, int));
        !           226: int mpfr_cmp3 _PROTO ((mpfr_srcptr, mpfr_srcptr, int));
        !           227: int mpfr_nan_p _PROTO((mpfr_srcptr));
        !           228: int mpfr_inf_p _PROTO((mpfr_srcptr));
        !           229: int mpfr_number_p _PROTO((mpfr_srcptr));
        !           230: int mpfr_acos _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           231: int mpfr_asin _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           232: int mpfr_atan _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           233:
        !           234: int mpfr_sinh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           235: int mpfr_tanh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           236: int mpfr_factorial _PROTO ((mpfr_ptr, unsigned long int, mp_rnd_t));
        !           237: int mpfr_ui_pow _PROTO ((mpfr_ptr, unsigned long int, mpfr_srcptr, mp_rnd_t));
        !           238:
        !           239: int mpfr_atanh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           240: int mpfr_acosh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           241: int mpfr_asinh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           242:
        !           243: int mpfr_cosh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           244: int mpfr_sinh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           245: int mpfr_tanh _PROTO((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           246: int mpfr_asin _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           247: int mpfr_atan _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           248: int mpfr_fac_ui _PROTO ((mpfr_ptr, unsigned long int, mp_rnd_t));
        !           249: int mpfr_fma _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           250: int mpfr_hypot _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           251: int mpfr_pow _PROTO ((mpfr_ptr, mpfr_srcptr,mpfr_srcptr, mp_rnd_t));
        !           252: int mpfr_pow_si _PROTO ((mpfr_ptr, mpfr_srcptr, long int, mp_rnd_t));
        !           253: int mpfr_isinteger _PROTO ((mpfr_srcptr));
        !           254: int mpfr_log2 _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           255: int mpfr_log10 _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           256: int mpfr_log1p _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           257: int mpfr_expm1 _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           258: int mpfr_cbrt _PROTO ((mpfr_ptr, mpfr_srcptr, mp_rnd_t));
        !           259:
        !           260: int mpfr_min _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           261: int mpfr_max _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           262: int mpfr_dim _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           263: int mpfr_copysign _PROTO ((mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t));
        !           264:
        !           265: int mpfr_mul_z _PROTO ((mpfr_ptr, mpfr_srcptr, mpz_srcptr, mp_rnd_t));
        !           266: int mpfr_div_z _PROTO ((mpfr_ptr, mpfr_srcptr, mpz_srcptr, mp_rnd_t));
        !           267: int mpfr_add_z _PROTO ((mpfr_ptr, mpfr_srcptr, mpz_srcptr, mp_rnd_t));
        !           268: int mpfr_sub_z _PROTO ((mpfr_ptr, mpfr_srcptr, mpz_srcptr, mp_rnd_t));
        !           269:
        !           270: int mpfr_mul_q _PROTO ((mpfr_ptr, mpfr_srcptr, mpq_srcptr, mp_rnd_t));
        !           271: int mpfr_div_q _PROTO ((mpfr_ptr, mpfr_srcptr, mpq_srcptr, mp_rnd_t));
        !           272: int mpfr_add_q _PROTO ((mpfr_ptr, mpfr_srcptr, mpq_srcptr, mp_rnd_t));
        !           273: int mpfr_sub_q _PROTO ((mpfr_ptr, mpfr_srcptr, mpq_srcptr, mp_rnd_t));
1.1       maekawa   274:
1.1.1.2 ! ohara     275: #if defined (__cplusplus)
        !           276: }
        !           277: #endif
        !           278:
        !           279: /* prevent from using mpfr_get_e{min,max} as lvalues */
        !           280: #define mpfr_get_emin() (__mpfr_emin + 0)
        !           281: #define mpfr_get_emax() (__mpfr_emax + 0)
        !           282:
        !           283: #define mpfr_clear_flags() \
        !           284:   ((void) (__mpfr_flags = 0))
        !           285: #define mpfr_clear_underflow() \
        !           286:   ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_UNDERFLOW))
        !           287: #define mpfr_clear_overflow() \
        !           288:   ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_OVERFLOW))
        !           289: #define mpfr_clear_nanflag() \
        !           290:   ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_NAN))
        !           291: #define mpfr_clear_inexflag() \
        !           292:   ((void) (__mpfr_flags &= MPFR_FLAGS_ALL ^ MPFR_FLAGS_INEXACT))
        !           293: #define mpfr_underflow_p() \
        !           294:   ((int) (__mpfr_flags & MPFR_FLAGS_UNDERFLOW))
        !           295: #define mpfr_overflow_p() \
        !           296:   ((int) (__mpfr_flags & MPFR_FLAGS_OVERFLOW))
        !           297: #define mpfr_nanflag_p() \
        !           298:   ((int) (__mpfr_flags & MPFR_FLAGS_NAN))
        !           299: #define mpfr_inexflag_p() \
        !           300:   ((int) (__mpfr_flags & MPFR_FLAGS_INEXACT))
        !           301:
        !           302: #define mpfr_round(a,b) mpfr_rint((a), (b), GMP_RNDN)
        !           303: #define mpfr_trunc(a,b) mpfr_rint((a), (b), GMP_RNDZ)
        !           304: #define mpfr_ceil(a,b)  mpfr_rint((a), (b), GMP_RNDU)
        !           305: #define mpfr_floor(a,b) mpfr_rint((a), (b), GMP_RNDD)
        !           306:
        !           307: #define mpfr_cmp_ui(b,i) mpfr_cmp_ui_2exp((b),(i),0)
        !           308: #define mpfr_cmp_si(b,i) mpfr_cmp_si_2exp((b),(i),0)
        !           309: #define mpfr_set(a,b,r) mpfr_set4(a,b,r,MPFR_SIGN(b))
        !           310: #define mpfr_abs(a,b,r) mpfr_set4(a,b,r,1)
        !           311: #define mpfr_cmp(b, c) mpfr_cmp3(b, c, 1)
        !           312: #define mpfr_sgn(x) mpfr_cmp_ui(x,0)
        !           313: #define mpfr_mul_2exp(y,x,n,r) mpfr_mul_2ui((y),(x),(n),(r))
        !           314: #define mpfr_div_2exp(y,x,n,r) mpfr_div_2ui((y),(x),(n),(r))
        !           315:
        !           316: #define mpfr_init_set_si(x, i, rnd) \
        !           317:  ( mpfr_init(x), mpfr_set_si((x), (i), (rnd)) )
        !           318: #define mpfr_init_set_ui(x, i, rnd) \
        !           319:  ( mpfr_init(x), mpfr_set_ui((x), (i), (rnd)) )
        !           320: #define mpfr_init_set_d(x, d, rnd) \
        !           321:  ( mpfr_init(x), mpfr_set_d((x), (d), (rnd)) )
        !           322: #define mpfr_init_set_z(x, i, rnd) \
        !           323:  ( mpfr_init(x), mpfr_set_z((x), (i), (rnd)) )
        !           324: #define mpfr_init_set_q(x, i, rnd) \
        !           325:  ( mpfr_init(x), mpfr_set_q((x), (i), (rnd)) )
        !           326: #define mpfr_init_set(x, y, rnd) \
        !           327:  ( mpfr_init(x), mpfr_set((x), (y), (rnd)) )
        !           328: #define mpfr_init_set_f(x, y, rnd) \
        !           329:  ( mpfr_init(x), mpfr_set_f((x), (y), (rnd)) )
1.1       maekawa   330:
1.1.1.2 ! ohara     331: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>