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>
4
5#ifndef __GMP_H__
6
7#include <stdlib/gmp.h>
8
9#include <bits/floatn.h>
10
11/* Now define the internal interfaces. */
12extern mp_size_t __mpn_extract_double (mp_ptr res_ptr, mp_size_t size,
13 int *expt, int *is_neg,
14 double value);
15
16extern mp_size_t __mpn_extract_long_double (mp_ptr res_ptr, mp_size_t size,
17 int *expt, int *is_neg,
18 long double value);
19
20#if __HAVE_DISTINCT_FLOAT128
21extern mp_size_t __mpn_extract_float128 (mp_ptr res_ptr, mp_size_t size,
22 int *expt, int *is_neg,
23 _Float128 value);
24#endif
25
26extern float __mpn_construct_float (mp_srcptr frac_ptr, int expt, int sign);
27
28extern double __mpn_construct_double (mp_srcptr frac_ptr, int expt,
29 int negative);
30
31extern long double __mpn_construct_long_double (mp_srcptr frac_ptr, int expt,
32 int sign);
33
34#if __HAVE_DISTINCT_FLOAT128
35extern _Float128 __mpn_construct_float128 (mp_srcptr frac_ptr, int expt,
36 int sign);
37#endif
38
39#endif
40