1 module deimos.gmp.floating;
2 
3 import core.stdc.stdio : FILE;
4 import core.stdc.config : c_long, c_ulong;
5 
6 import deimos.gmp.gmp;
7 
8 extern (C) nothrow:
9 
10 /**************** Float (i.e. F) routines.  ****************/
11 
12 alias mpf_abs = __gmpf_abs;
13 extern (C) void __gmpf_abs (mpf_ptr, mpf_srcptr);
14 
15 alias mpf_add = __gmpf_add;
16 extern (C) void __gmpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr);
17 
18 alias mpf_add_ui = __gmpf_add_ui;
19 extern (C) void __gmpf_add_ui (mpf_ptr, mpf_srcptr, c_ulong);
20 
21 alias mpf_ceil = __gmpf_ceil;
22 extern (C) void __gmpf_ceil (mpf_ptr, mpf_srcptr);
23 
24 alias mpf_clear = __gmpf_clear;
25 extern (C) void __gmpf_clear (mpf_ptr);
26 
27 alias mpf_clears = __gmpf_clears;
28 extern (C) void __gmpf_clears (mpf_ptr, ...);
29 
30 alias mpf_cmp = __gmpf_cmp;
31 extern (C) int __gmpf_cmp (mpf_srcptr, mpf_srcptr) nothrow pure;
32 
33 alias mpf_cmp_z = __gmpf_cmp_z;
34 extern (C) int __gmpf_cmp_z (mpf_srcptr, mpz_srcptr) nothrow pure;
35 
36 alias mpf_cmp_d = __gmpf_cmp_d;
37 extern (C) int __gmpf_cmp_d (mpf_srcptr, double) pure;
38 
39 alias mpf_cmp_si = __gmpf_cmp_si;
40 extern (C) int __gmpf_cmp_si (mpf_srcptr, c_long) nothrow pure;
41 
42 alias mpf_cmp_ui = __gmpf_cmp_ui;
43 extern (C) int __gmpf_cmp_ui (mpf_srcptr, c_ulong) nothrow pure;
44 
45 alias mpf_div = __gmpf_div;
46 extern (C) void __gmpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr);
47 
48 alias mpf_div_2exp = __gmpf_div_2exp;
49 extern (C) void __gmpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t);
50 
51 alias mpf_div_ui = __gmpf_div_ui;
52 extern (C) void __gmpf_div_ui (mpf_ptr, mpf_srcptr, c_ulong);
53 
54 alias mpf_dump = __gmpf_dump;
55 extern (C) void __gmpf_dump (mpf_srcptr);
56 
57 alias mpf_eq = __gmpf_eq;
58 extern (C) int __gmpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) pure;
59 
60 alias mpf_fits_sint_p = __gmpf_fits_sint_p;
61 extern (C) int __gmpf_fits_sint_p (mpf_srcptr) nothrow pure;
62 
63 alias mpf_fits_slong_p = __gmpf_fits_slong_p;
64 extern (C) int __gmpf_fits_slong_p (mpf_srcptr) nothrow pure;
65 
66 alias mpf_fits_sshort_p = __gmpf_fits_sshort_p;
67 extern (C) int __gmpf_fits_sshort_p (mpf_srcptr) nothrow pure;
68 
69 alias mpf_fits_uint_p = __gmpf_fits_uint_p;
70 extern (C) int __gmpf_fits_uint_p (mpf_srcptr) nothrow pure;
71 
72 alias mpf_fits_c_ulong_p = __gmpf_fits_c_ulong_p;
73 extern (C) int __gmpf_fits_c_ulong_p (mpf_srcptr) nothrow pure;
74 
75 alias mpf_fits_ushort_p = __gmpf_fits_ushort_p;
76 extern (C) int __gmpf_fits_ushort_p (mpf_srcptr) nothrow pure;
77 
78 alias mpf_floor = __gmpf_floor;
79 extern (C) void __gmpf_floor (mpf_ptr, mpf_srcptr);
80 
81 alias mpf_get_d = __gmpf_get_d;
82 extern (C) double __gmpf_get_d (mpf_srcptr) pure;
83 
84 alias mpf_get_d_2exp = __gmpf_get_d_2exp;
85 extern (C) double __gmpf_get_d_2exp (c_long *, mpf_srcptr);
86 
87 alias mpf_get_default_prec = __gmpf_get_default_prec;
88 extern (C) mp_bitcnt_t __gmpf_get_default_prec () nothrow pure;
89 
90 alias mpf_get_prec = __gmpf_get_prec;
91 extern (C) mp_bitcnt_t __gmpf_get_prec (mpf_srcptr) nothrow pure;
92 
93 alias mpf_get_si = __gmpf_get_si;
94 extern (C) c_long __gmpf_get_si (mpf_srcptr) nothrow pure;
95 
96 alias mpf_get_str = __gmpf_get_str;
97 extern (C) char *__gmpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr);
98 
99 alias mpf_get_ui = __gmpf_get_ui;
100 extern (C) c_ulong __gmpf_get_ui (mpf_srcptr) nothrow pure;
101 
102 alias mpf_init = __gmpf_init;
103 extern (C) void __gmpf_init (mpf_ptr);
104 
105 alias mpf_init2 = __gmpf_init2;
106 extern (C) void __gmpf_init2 (mpf_ptr, mp_bitcnt_t);
107 
108 alias mpf_inits = __gmpf_inits;
109 extern (C) void __gmpf_inits (mpf_ptr, ...);
110 
111 alias mpf_init_set = __gmpf_init_set;
112 extern (C) void __gmpf_init_set (mpf_ptr, mpf_srcptr);
113 
114 alias mpf_init_set_d = __gmpf_init_set_d;
115 extern (C) void __gmpf_init_set_d (mpf_ptr, double);
116 
117 alias mpf_init_set_si = __gmpf_init_set_si;
118 extern (C) void __gmpf_init_set_si (mpf_ptr, c_long);
119 
120 alias mpf_init_set_str = __gmpf_init_set_str;
121 extern (C) int __gmpf_init_set_str (mpf_ptr, const char *, int);
122 
123 alias mpf_init_set_ui = __gmpf_init_set_ui;
124 extern (C) void __gmpf_init_set_ui (mpf_ptr, c_ulong);
125 
126 alias mpf_inp_str = __gmpf_inp_str;
127 extern (C) size_t __gmpf_inp_str (mpf_ptr, FILE *, int);
128 
129 alias mpf_integer_p = __gmpf_integer_p;
130 extern (C) int __gmpf_integer_p (mpf_srcptr) nothrow pure;
131 
132 alias mpf_mul = __gmpf_mul;
133 extern (C) void __gmpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr);
134 
135 alias mpf_mul_2exp = __gmpf_mul_2exp;
136 extern (C) void __gmpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t);
137 
138 alias mpf_mul_ui = __gmpf_mul_ui;
139 extern (C) void __gmpf_mul_ui (mpf_ptr, mpf_srcptr, c_ulong);
140 
141 alias mpf_neg = __gmpf_neg;
142 extern (C) void __gmpf_neg (mpf_ptr, mpf_srcptr);
143 
144 alias mpf_out_str = __gmpf_out_str;
145 extern (C) size_t __gmpf_out_str (FILE *, int, size_t, mpf_srcptr);
146 
147 alias mpf_pow_ui = __gmpf_pow_ui;
148 extern (C) void __gmpf_pow_ui (mpf_ptr, mpf_srcptr, c_ulong);
149 
150 alias mpf_random2 = __gmpf_random2;
151 extern (C) void __gmpf_random2 (mpf_ptr, mp_size_t, mp_exp_t);
152 
153 alias mpf_reldiff = __gmpf_reldiff;
154 extern (C) void __gmpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr);
155 
156 alias mpf_set = __gmpf_set;
157 extern (C) void __gmpf_set (mpf_ptr, mpf_srcptr);
158 
159 alias mpf_set_d = __gmpf_set_d;
160 extern (C) void __gmpf_set_d (mpf_ptr, double);
161 
162 alias mpf_set_default_prec = __gmpf_set_default_prec;
163 extern (C) void __gmpf_set_default_prec (mp_bitcnt_t) nothrow;
164 
165 alias mpf_set_prec = __gmpf_set_prec;
166 extern (C) void __gmpf_set_prec (mpf_ptr, mp_bitcnt_t);
167 
168 alias mpf_set_prec_raw = __gmpf_set_prec_raw;
169 extern (C) void __gmpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) nothrow;
170 
171 alias mpf_set_q = __gmpf_set_q;
172 extern (C) void __gmpf_set_q (mpf_ptr, mpq_srcptr);
173 
174 alias mpf_set_si = __gmpf_set_si;
175 extern (C) void __gmpf_set_si (mpf_ptr, c_long);
176 
177 alias mpf_set_str = __gmpf_set_str;
178 extern (C) int __gmpf_set_str (mpf_ptr, const char *, int);
179 
180 alias mpf_set_ui = __gmpf_set_ui;
181 extern (C) void __gmpf_set_ui (mpf_ptr, c_ulong);
182 
183 alias mpf_set_z = __gmpf_set_z;
184 extern (C) void __gmpf_set_z (mpf_ptr, mpz_srcptr);
185 
186 alias mpf_size = __gmpf_size;
187 extern (C) size_t __gmpf_size (mpf_srcptr) nothrow pure;
188 
189 alias mpf_sqrt = __gmpf_sqrt;
190 extern (C) void __gmpf_sqrt (mpf_ptr, mpf_srcptr);
191 
192 alias mpf_sqrt_ui = __gmpf_sqrt_ui;
193 extern (C) void __gmpf_sqrt_ui (mpf_ptr, c_ulong);
194 
195 alias mpf_sub = __gmpf_sub;
196 extern (C) void __gmpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr);
197 
198 alias mpf_sub_ui = __gmpf_sub_ui;
199 extern (C) void __gmpf_sub_ui (mpf_ptr, mpf_srcptr, c_ulong);
200 
201 alias mpf_swap = __gmpf_swap;
202 extern (C) void __gmpf_swap (mpf_ptr, mpf_ptr) nothrow;
203 
204 alias mpf_trunc = __gmpf_trunc;
205 extern (C) void __gmpf_trunc (mpf_ptr, mpf_srcptr);
206 
207 alias mpf_ui_div = __gmpf_ui_div;
208 extern (C) void __gmpf_ui_div (mpf_ptr, c_ulong, mpf_srcptr);
209 
210 alias mpf_ui_sub = __gmpf_ui_sub;
211 extern (C) void __gmpf_ui_sub (mpf_ptr, c_ulong, mpf_srcptr);
212 
213 alias mpf_urandomb = __gmpf_urandomb;
214 extern (C) void __gmpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t);