From b0cb4e8e22ea7c4523d033fd422489466f2cbc67 Mon Sep 17 00:00:00 2001 From: zimmerma Date: Sun, 5 Nov 2006 15:41:27 +0000 Subject: added new (preliminary) conversions functions to/from decimal64 git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4185 280ebfd0-de03-0410-8827-d642c229c3f4 --- mpfr.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'mpfr.h') diff --git a/mpfr.h b/mpfr.h index 81e7bde2f..d71896b17 100644 --- a/mpfr.h +++ b/mpfr.h @@ -124,6 +124,14 @@ typedef enum { MPFR_INF_KIND = 1, MPFR_ZERO_KIND = 2, MPFR_REGULAR_KIND = 3 } mpfr_kind_t; +/* the decimal64 conversion routines depend on _GMP_IEEE_FLOATS */ +#define WANT_DECIMAL64 _GMP_IEEE_FLOATS + +#ifdef WANT_DECIMAL64 +/* FIXME: remove/replaced when decimal64 is a standard C type */ +typedef double decimal64; +#endif + /* GMP defines: + size_t: Standard size_t + __GMP_ATTRIBUTE_PURE Attribute for math functions. @@ -227,6 +235,10 @@ __MPFR_DECLSPEC void mpfr_set_default_prec _MPFR_PROTO((mpfr_prec_t)); __MPFR_DECLSPEC mp_prec_t mpfr_get_default_prec _MPFR_PROTO((void)); __MPFR_DECLSPEC int mpfr_set_d _MPFR_PROTO ((mpfr_ptr, double, mpfr_rnd_t)); +#ifdef WANT_DECIMAL64 +__MPFR_DECLSPEC int mpfr_set_decimal64 _MPFR_PROTO ((mpfr_ptr, decimal64, + mp_rnd_t)); +#endif __MPFR_DECLSPEC int mpfr_set_ld _MPFR_PROTO ((mpfr_ptr, long double, mpfr_rnd_t)); __MPFR_DECLSPEC int @@ -280,6 +292,10 @@ __MPFR_DECLSPEC uintmax_t mpfr_get_uj _MPFR_PROTO ((mpfr_srcptr, mpfr_rnd_t)); __MPFR_DECLSPEC mp_exp_t mpfr_get_z_exp _MPFR_PROTO ((mpz_ptr, mpfr_srcptr)); __MPFR_DECLSPEC double mpfr_get_d _MPFR_PROTO ((mpfr_srcptr, mpfr_rnd_t)); +#ifdef WANT_DECIMAL64 +__MPFR_DECLSPEC decimal64 mpfr_get_decimal64 _MPFR_PROTO ((mpfr_srcptr, + mp_rnd_t)); +#endif __MPFR_DECLSPEC long double mpfr_get_ld _MPFR_PROTO ((mpfr_srcptr, mpfr_rnd_t)); __MPFR_DECLSPEC double mpfr_get_d1 _MPFR_PROTO ((mpfr_srcptr)); -- cgit v1.2.1