1 /* Include gmp-mparam.h first, such that definitions of _SHORT_LIMB
2 and _LONG_LONG_LIMB in it can take effect into gmp.h. */
3 #include <gmp-mparam.h>
7 #include <stdlib/gmp.h>
9 #include <bits/floatn.h>
12 /* Now define the internal interfaces. */
13 extern mp_size_t
__mpn_extract_double (mp_ptr res_ptr
, mp_size_t size
,
14 int *expt
, int *is_neg
,
15 double value
) attribute_hidden
;
17 extern mp_size_t
__mpn_extract_long_double (mp_ptr res_ptr
, mp_size_t size
,
18 int *expt
, int *is_neg
,
22 #if __HAVE_DISTINCT_FLOAT128
23 extern mp_size_t
__mpn_extract_float128 (mp_ptr res_ptr
, mp_size_t size
,
24 int *expt
, int *is_neg
,
29 extern float __mpn_construct_float (mp_srcptr frac_ptr
, int expt
, int sign
)
32 extern double __mpn_construct_double (mp_srcptr frac_ptr
, int expt
,
33 int negative
) attribute_hidden
;
35 extern long double __mpn_construct_long_double (mp_srcptr frac_ptr
, int expt
,
39 #if __HAVE_DISTINCT_FLOAT128
40 extern _Float128
__mpn_construct_float128 (mp_srcptr frac_ptr
, int expt
,
41 int sign
) attribute_hidden
;
44 extern __typeof (mpn_add_1
) mpn_add_1 attribute_hidden
;
45 extern __typeof (mpn_addmul_1
) mpn_addmul_1 attribute_hidden
;
46 extern __typeof (mpn_add_n
) mpn_add_n attribute_hidden
;
47 extern __typeof (mpn_cmp
) mpn_cmp attribute_hidden
;
48 extern __typeof (mpn_divrem
) mpn_divrem attribute_hidden
;
49 extern __typeof (mpn_lshift
) mpn_lshift attribute_hidden
;
50 extern __typeof (mpn_mul
) mpn_mul attribute_hidden
;
51 extern __typeof (mpn_mul_1
) mpn_mul_1 attribute_hidden
;
52 extern __typeof (mpn_rshift
) mpn_rshift attribute_hidden
;
53 extern __typeof (mpn_sub_1
) mpn_sub_1 attribute_hidden
;
54 extern __typeof (mpn_submul_1
) mpn_submul_1 attribute_hidden
;
55 extern __typeof (mpn_sub_n
) mpn_sub_n attribute_hidden
;