1#![allow(non_camel_case_types)]
2
3extern crate libc;
4
5use libc::size_t;
6
7pub type mp_limb_t = ::std::os::raw::c_ulong;
13pub type mp_limb_signed_t = ::std::os::raw::c_long;
14pub type mp_bitcnt_t = ::std::os::raw::c_ulong;
15#[repr(C)]
16#[derive(Copy)]
17pub struct Struct_Unnamed1 {
18 pub _mp_alloc: ::std::os::raw::c_int,
19 pub _mp_size: ::std::os::raw::c_int,
20 pub _mp_d: *mut mp_limb_t,
21}
22impl ::std::clone::Clone for Struct_Unnamed1 {
23 fn clone(&self) -> Self { *self }
24}
25impl ::std::default::Default for Struct_Unnamed1 {
26 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
27}
28pub type __mpz_struct = Struct_Unnamed1;
29pub type MP_INT = __mpz_struct;
30pub type mpz_t = [__mpz_struct; 1usize];
31pub type mp_ptr = *mut mp_limb_t;
32pub type mp_srcptr = *const mp_limb_t;
33pub type mp_size_t = ::std::os::raw::c_long;
34pub type mp_exp_t = ::std::os::raw::c_long;
35#[repr(C)]
36#[derive(Copy)]
37pub struct Struct_Unnamed2 {
38 pub _mp_num: __mpz_struct,
39 pub _mp_den: __mpz_struct,
40}
41impl ::std::clone::Clone for Struct_Unnamed2 {
42 fn clone(&self) -> Self { *self }
43}
44impl ::std::default::Default for Struct_Unnamed2 {
45 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
46}
47pub type __mpq_struct = Struct_Unnamed2;
48pub type MP_RAT = __mpq_struct;
49pub type mpq_t = [__mpq_struct; 1usize];
50#[repr(C)]
51#[derive(Copy)]
52pub struct Struct_Unnamed3 {
53 pub _mp_prec: ::std::os::raw::c_int,
54 pub _mp_size: ::std::os::raw::c_int,
55 pub _mp_exp: mp_exp_t,
56 pub _mp_d: *mut mp_limb_t,
57}
58impl ::std::clone::Clone for Struct_Unnamed3 {
59 fn clone(&self) -> Self { *self }
60}
61impl ::std::default::Default for Struct_Unnamed3 {
62 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
63}
64pub type __mpf_struct = Struct_Unnamed3;
65pub type mpf_t = [__mpf_struct; 1usize];
66pub type Enum_Unnamed4 = ::libc::c_uint;
67pub const GMP_RAND_ALG_DEFAULT: ::libc::c_uint = 0;
68pub const GMP_RAND_ALG_LC: ::libc::c_uint = 0;
69pub type gmp_randalg_t = Enum_Unnamed4;
70#[repr(C)]
71#[derive(Copy)]
72pub struct Struct_Unnamed5 {
73 pub _mp_seed: mpz_t,
74 pub _mp_alg: gmp_randalg_t,
75 pub _mp_algdata: Union_Unnamed6,
76}
77impl ::std::clone::Clone for Struct_Unnamed5 {
78 fn clone(&self) -> Self { *self }
79}
80impl ::std::default::Default for Struct_Unnamed5 {
81 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
82}
83#[repr(C)]
84#[derive(Copy)]
85pub struct Union_Unnamed6 {
86 pub _bindgen_data_: [u64; 1usize],
87}
88impl Union_Unnamed6 {
89 pub unsafe fn _mp_lc(&mut self) -> *mut *mut ::std::os::raw::c_void {
90 let raw: *mut u8 = ::std::mem::transmute(&self._bindgen_data_);
91 ::std::mem::transmute(raw.offset(0))
92 }
93}
94impl ::std::clone::Clone for Union_Unnamed6 {
95 fn clone(&self) -> Self { *self }
96}
97impl ::std::default::Default for Union_Unnamed6 {
98 fn default() -> Self { unsafe { ::std::mem::zeroed() } }
99}
100pub type __gmp_randstate_struct = Struct_Unnamed5;
101pub type gmp_randstate_t = [__gmp_randstate_struct; 1usize];
102pub type gmp_randstate_ptr = *mut __gmp_randstate_struct;
103pub type mpz_srcptr = *const __mpz_struct;
104pub type mpz_ptr = *mut __mpz_struct;
105pub type mpf_srcptr = *const __mpf_struct;
106pub type mpf_ptr = *mut __mpf_struct;
107pub type mpq_srcptr = *const __mpq_struct;
108pub type mpq_ptr = *mut __mpq_struct;
109#[derive(Clone, Copy)]
110#[repr(u32)]
111pub enum Enum_Unnamed7 {
112 GMP_ERROR_NONE = 0,
113 GMP_ERROR_UNSUPPORTED_ARGUMENT = 1,
114 GMP_ERROR_DIVISION_BY_ZERO = 2,
115 GMP_ERROR_SQRT_OF_NEGATIVE = 4,
116 GMP_ERROR_INVALID_ARGUMENT = 8,
117}
118extern "C" {
119 pub static __gmp_bits_per_limb: ::std::os::raw::c_int;
120 pub static mut __gmp_errno: ::std::os::raw::c_int;
121 pub static __gmp_version: *const ::std::os::raw::c_char;
122}
123extern "C" {
124 pub fn __gmp_set_memory_functions(arg1:
125 ::std::option::Option<extern "C" fn(arg1:
126 size_t)
127 ->
128 *mut ::std::os::raw::c_void>,
129 arg2:
130 ::std::option::Option<unsafe extern "C" fn(arg1:
131 *mut ::std::os::raw::c_void,
132 arg2:
133 size_t,
134 arg3:
135 size_t)
136 ->
137 *mut ::std::os::raw::c_void>,
138 arg3:
139 ::std::option::Option<unsafe extern "C" fn(arg1:
140 *mut ::std::os::raw::c_void,
141 arg2:
142 size_t)>);
143 pub fn __gmp_get_memory_functions(arg1:
144 *mut ::std::option::Option<extern "C" fn(arg1:
145 size_t)
146 ->
147 *mut ::std::os::raw::c_void>,
148 arg2:
149 *mut ::std::option::Option<unsafe extern "C" fn(arg1:
150 *mut ::std::os::raw::c_void,
151 arg2:
152 size_t,
153 arg3:
154 size_t)
155 ->
156 *mut ::std::os::raw::c_void>,
157 arg3:
158 *mut ::std::option::Option<unsafe extern "C" fn(arg1:
159 *mut ::std::os::raw::c_void,
160 arg2:
161 size_t)>);
162 pub fn __gmp_randinit(arg1: gmp_randstate_ptr, arg2: gmp_randalg_t, ...);
163 pub fn __gmp_randinit_default(arg1: gmp_randstate_ptr);
164 pub fn __gmp_randinit_lc_2exp(arg1: gmp_randstate_ptr, arg2: mpz_srcptr,
165 arg3: ::std::os::raw::c_ulong,
166 arg4: mp_bitcnt_t);
167 pub fn __gmp_randinit_lc_2exp_size(arg1: gmp_randstate_ptr,
168 arg2: mp_bitcnt_t)
169 -> ::std::os::raw::c_int;
170 pub fn __gmp_randinit_mt(arg1: gmp_randstate_ptr);
171 pub fn __gmp_randinit_set(arg1: gmp_randstate_ptr,
172 arg2: *const __gmp_randstate_struct);
173 pub fn __gmp_randseed(arg1: gmp_randstate_ptr, arg2: mpz_srcptr);
174 pub fn __gmp_randseed_ui(arg1: gmp_randstate_ptr,
175 arg2: ::std::os::raw::c_ulong);
176 pub fn __gmp_randclear(arg1: gmp_randstate_ptr);
177 pub fn __gmp_urandomb_ui(arg1: gmp_randstate_ptr,
178 arg2: ::std::os::raw::c_ulong)
179 -> ::std::os::raw::c_ulong;
180 pub fn __gmp_urandomm_ui(arg1: gmp_randstate_ptr,
181 arg2: ::std::os::raw::c_ulong)
182 -> ::std::os::raw::c_ulong;
183 pub fn __gmp_asprintf(arg1: *mut *mut ::std::os::raw::c_char,
184 arg2: *const ::std::os::raw::c_char, ...)
185 -> ::std::os::raw::c_int;
186 pub fn __gmp_printf(arg1: *const ::std::os::raw::c_char, ...)
187 -> ::std::os::raw::c_int;
188 pub fn __gmp_snprintf(arg1: *mut ::std::os::raw::c_char, arg2: size_t,
189 arg3: *const ::std::os::raw::c_char, ...)
190 -> ::std::os::raw::c_int;
191 pub fn __gmp_sprintf(arg1: *mut ::std::os::raw::c_char,
192 arg2: *const ::std::os::raw::c_char, ...)
193 -> ::std::os::raw::c_int;
194 pub fn __gmp_scanf(arg1: *const ::std::os::raw::c_char, ...)
195 -> ::std::os::raw::c_int;
196 pub fn __gmp_sscanf(arg1: *const ::std::os::raw::c_char,
197 arg2: *const ::std::os::raw::c_char, ...)
198 -> ::std::os::raw::c_int;
199 pub fn __gmpz_realloc(arg1: mpz_ptr, arg2: mp_size_t)
200 -> *mut ::std::os::raw::c_void;
201 pub fn __gmpz_abs(__gmp_w: mpz_ptr, __gmp_u: mpz_srcptr);
202 pub fn __gmpz_add(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
203 pub fn __gmpz_add_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
204 arg3: ::std::os::raw::c_ulong);
205 pub fn __gmpz_addmul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
206 pub fn __gmpz_addmul_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
207 arg3: ::std::os::raw::c_ulong);
208 pub fn __gmpz_and(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
209 pub fn __gmpz_array_init(arg1: mpz_ptr, arg2: mp_size_t, arg3: mp_size_t);
210 pub fn __gmpz_bin_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
211 arg3: ::std::os::raw::c_ulong);
212 pub fn __gmpz_bin_uiui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong,
213 arg3: ::std::os::raw::c_ulong);
214 pub fn __gmpz_cdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
215 pub fn __gmpz_cdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr,
216 arg3: mp_bitcnt_t);
217 pub fn __gmpz_cdiv_q_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
218 arg3: ::std::os::raw::c_ulong)
219 -> ::std::os::raw::c_ulong;
220 pub fn __gmpz_cdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr,
221 arg4: mpz_srcptr);
222 pub fn __gmpz_cdiv_qr_ui(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr,
223 arg4: ::std::os::raw::c_ulong)
224 -> ::std::os::raw::c_ulong;
225 pub fn __gmpz_cdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
226 pub fn __gmpz_cdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr,
227 arg3: mp_bitcnt_t);
228 pub fn __gmpz_cdiv_r_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
229 arg3: ::std::os::raw::c_ulong)
230 -> ::std::os::raw::c_ulong;
231 pub fn __gmpz_cdiv_ui(arg1: mpz_srcptr, arg2: ::std::os::raw::c_ulong)
232 -> ::std::os::raw::c_ulong;
233 pub fn __gmpz_clear(arg1: mpz_ptr);
234 pub fn __gmpz_clears(arg1: mpz_ptr, ...);
235 pub fn __gmpz_clrbit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
236 pub fn __gmpz_cmp(arg1: mpz_srcptr, arg2: mpz_srcptr)
237 -> ::std::os::raw::c_int;
238 pub fn __gmpz_cmp_d(arg1: mpz_srcptr, arg2: ::std::os::raw::c_double)
239 -> ::std::os::raw::c_int;
240 pub fn __gmpz_cmp_si(arg1: mpz_srcptr, arg2: ::std::os::raw::c_long)
241 -> ::std::os::raw::c_int;
242 pub fn __gmpz_cmp_ui(arg1: mpz_srcptr, arg2: ::std::os::raw::c_ulong)
243 -> ::std::os::raw::c_int;
244 pub fn __gmpz_cmpabs(arg1: mpz_srcptr, arg2: mpz_srcptr)
245 -> ::std::os::raw::c_int;
246 pub fn __gmpz_cmpabs_d(arg1: mpz_srcptr, arg2: ::std::os::raw::c_double)
247 -> ::std::os::raw::c_int;
248 pub fn __gmpz_cmpabs_ui(arg1: mpz_srcptr, arg2: ::std::os::raw::c_ulong)
249 -> ::std::os::raw::c_int;
250 pub fn __gmpz_com(arg1: mpz_ptr, arg2: mpz_srcptr);
251 pub fn __gmpz_combit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
252 pub fn __gmpz_congruent_p(arg1: mpz_srcptr, arg2: mpz_srcptr,
253 arg3: mpz_srcptr) -> ::std::os::raw::c_int;
254 pub fn __gmpz_congruent_2exp_p(arg1: mpz_srcptr, arg2: mpz_srcptr,
255 arg3: mp_bitcnt_t)
256 -> ::std::os::raw::c_int;
257 pub fn __gmpz_congruent_ui_p(arg1: mpz_srcptr,
258 arg2: ::std::os::raw::c_ulong,
259 arg3: ::std::os::raw::c_ulong)
260 -> ::std::os::raw::c_int;
261 pub fn __gmpz_divexact(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
262 pub fn __gmpz_divexact_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
263 arg3: ::std::os::raw::c_ulong);
264 pub fn __gmpz_divisible_p(arg1: mpz_srcptr, arg2: mpz_srcptr)
265 -> ::std::os::raw::c_int;
266 pub fn __gmpz_divisible_ui_p(arg1: mpz_srcptr,
267 arg2: ::std::os::raw::c_ulong)
268 -> ::std::os::raw::c_int;
269 pub fn __gmpz_divisible_2exp_p(arg1: mpz_srcptr, arg2: mp_bitcnt_t)
270 -> ::std::os::raw::c_int;
271 pub fn __gmpz_dump(arg1: mpz_srcptr);
272 pub fn __gmpz_export(arg1: *mut ::std::os::raw::c_void, arg2: *mut size_t,
273 arg3: ::std::os::raw::c_int, arg4: size_t,
274 arg5: ::std::os::raw::c_int, arg6: size_t,
275 arg7: mpz_srcptr) -> *mut ::std::os::raw::c_void;
276 pub fn __gmpz_fac_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
277 pub fn __gmpz_2fac_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
278 pub fn __gmpz_mfac_uiui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong,
279 arg3: ::std::os::raw::c_ulong);
280 pub fn __gmpz_primorial_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
281 pub fn __gmpz_fdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
282 pub fn __gmpz_fdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr,
283 arg3: mp_bitcnt_t);
284 pub fn __gmpz_fdiv_q_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
285 arg3: ::std::os::raw::c_ulong)
286 -> ::std::os::raw::c_ulong;
287 pub fn __gmpz_fdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr,
288 arg4: mpz_srcptr);
289 pub fn __gmpz_fdiv_qr_ui(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr,
290 arg4: ::std::os::raw::c_ulong)
291 -> ::std::os::raw::c_ulong;
292 pub fn __gmpz_fdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
293 pub fn __gmpz_fdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr,
294 arg3: mp_bitcnt_t);
295 pub fn __gmpz_fdiv_r_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
296 arg3: ::std::os::raw::c_ulong)
297 -> ::std::os::raw::c_ulong;
298 pub fn __gmpz_fdiv_ui(arg1: mpz_srcptr, arg2: ::std::os::raw::c_ulong)
299 -> ::std::os::raw::c_ulong;
300 pub fn __gmpz_fib_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
301 pub fn __gmpz_fib2_ui(arg1: mpz_ptr, arg2: mpz_ptr,
302 arg3: ::std::os::raw::c_ulong);
303 pub fn __gmpz_fits_sint_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
304 pub fn __gmpz_fits_slong_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
305 pub fn __gmpz_fits_sshort_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
306 pub fn __gmpz_fits_uint_p(__gmp_z: mpz_srcptr) -> ::std::os::raw::c_int;
307 pub fn __gmpz_fits_ulong_p(__gmp_z: mpz_srcptr) -> ::std::os::raw::c_int;
308 pub fn __gmpz_fits_ushort_p(__gmp_z: mpz_srcptr) -> ::std::os::raw::c_int;
309 pub fn __gmpz_gcd(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
310 pub fn __gmpz_gcd_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
311 arg3: ::std::os::raw::c_ulong)
312 -> ::std::os::raw::c_ulong;
313 pub fn __gmpz_gcdext(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_ptr,
314 arg4: mpz_srcptr, arg5: mpz_srcptr);
315 pub fn __gmpz_get_d(arg1: mpz_srcptr) -> ::std::os::raw::c_double;
316 pub fn __gmpz_get_d_2exp(arg1: *mut ::std::os::raw::c_long,
317 arg2: mpz_srcptr) -> ::std::os::raw::c_double;
318 pub fn __gmpz_get_si(arg1: mpz_srcptr) -> ::std::os::raw::c_long;
319 pub fn __gmpz_get_str(arg1: *mut ::std::os::raw::c_char,
320 arg2: ::std::os::raw::c_int, arg3: mpz_srcptr)
321 -> *mut ::std::os::raw::c_char;
322 pub fn __gmpz_get_ui(__gmp_z: mpz_srcptr) -> ::std::os::raw::c_ulong;
323 pub fn __gmpz_getlimbn(__gmp_z: mpz_srcptr, __gmp_n: mp_size_t)
324 -> mp_limb_t;
325 pub fn __gmpz_hamdist(arg1: mpz_srcptr, arg2: mpz_srcptr) -> mp_bitcnt_t;
326 pub fn __gmpz_import(arg1: mpz_ptr, arg2: size_t,
327 arg3: ::std::os::raw::c_int, arg4: size_t,
328 arg5: ::std::os::raw::c_int, arg6: size_t,
329 arg7: *const ::std::os::raw::c_void);
330 pub fn __gmpz_init(arg1: mpz_ptr);
331 pub fn __gmpz_init2(arg1: mpz_ptr, arg2: mp_bitcnt_t);
332 pub fn __gmpz_inits(arg1: mpz_ptr, ...);
333 pub fn __gmpz_init_set(arg1: mpz_ptr, arg2: mpz_srcptr);
334 pub fn __gmpz_init_set_d(arg1: mpz_ptr, arg2: ::std::os::raw::c_double);
335 pub fn __gmpz_init_set_si(arg1: mpz_ptr, arg2: ::std::os::raw::c_long);
336 pub fn __gmpz_init_set_str(arg1: mpz_ptr,
337 arg2: *const ::std::os::raw::c_char,
338 arg3: ::std::os::raw::c_int)
339 -> ::std::os::raw::c_int;
340 pub fn __gmpz_init_set_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
341 pub fn __gmpz_invert(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr)
342 -> ::std::os::raw::c_int;
343 pub fn __gmpz_ior(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
344 pub fn __gmpz_jacobi(arg1: mpz_srcptr, arg2: mpz_srcptr)
345 -> ::std::os::raw::c_int;
346 pub fn __gmpz_kronecker_si(arg1: mpz_srcptr, arg2: ::std::os::raw::c_long)
347 -> ::std::os::raw::c_int;
348 pub fn __gmpz_kronecker_ui(arg1: mpz_srcptr,
349 arg2: ::std::os::raw::c_ulong)
350 -> ::std::os::raw::c_int;
351 pub fn __gmpz_si_kronecker(arg1: ::std::os::raw::c_long, arg2: mpz_srcptr)
352 -> ::std::os::raw::c_int;
353 pub fn __gmpz_ui_kronecker(arg1: ::std::os::raw::c_ulong,
354 arg2: mpz_srcptr) -> ::std::os::raw::c_int;
355 pub fn __gmpz_lcm(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
356 pub fn __gmpz_lcm_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
357 arg3: ::std::os::raw::c_ulong);
358 pub fn __gmpz_lucnum_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
359 pub fn __gmpz_lucnum2_ui(arg1: mpz_ptr, arg2: mpz_ptr,
360 arg3: ::std::os::raw::c_ulong);
361 pub fn __gmpz_millerrabin(arg1: mpz_srcptr, arg2: ::std::os::raw::c_int)
362 -> ::std::os::raw::c_int;
363 pub fn __gmpz_mod(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
364 pub fn __gmpz_mul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
365 pub fn __gmpz_mul_2exp(arg1: mpz_ptr, arg2: mpz_srcptr,
366 arg3: mp_bitcnt_t);
367 pub fn __gmpz_mul_si(arg1: mpz_ptr, arg2: mpz_srcptr,
368 arg3: ::std::os::raw::c_long);
369 pub fn __gmpz_mul_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
370 arg3: ::std::os::raw::c_ulong);
371 pub fn __gmpz_neg(__gmp_w: mpz_ptr, __gmp_u: mpz_srcptr);
372 pub fn __gmpz_nextprime(arg1: mpz_ptr, arg2: mpz_srcptr);
373 pub fn __gmpz_perfect_power_p(arg1: mpz_srcptr) -> ::std::os::raw::c_int;
374 pub fn __gmpz_perfect_square_p(__gmp_a: mpz_srcptr)
375 -> ::std::os::raw::c_int;
376 pub fn __gmpz_popcount(__gmp_u: mpz_srcptr) -> mp_bitcnt_t;
377 pub fn __gmpz_pow_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
378 arg3: ::std::os::raw::c_ulong);
379 pub fn __gmpz_powm(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr,
380 arg4: mpz_srcptr);
381 pub fn __gmpz_powm_sec(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr,
382 arg4: mpz_srcptr);
383 pub fn __gmpz_powm_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
384 arg3: ::std::os::raw::c_ulong, arg4: mpz_srcptr);
385 pub fn __gmpz_probab_prime_p(arg1: mpz_srcptr,
386 arg2: ::std::os::raw::c_int)
387 -> ::std::os::raw::c_int;
388 pub fn __gmpz_random(arg1: mpz_ptr, arg2: mp_size_t);
389 pub fn __gmpz_random2(arg1: mpz_ptr, arg2: mp_size_t);
390 pub fn __gmpz_realloc2(arg1: mpz_ptr, arg2: mp_bitcnt_t);
391 pub fn __gmpz_remove(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr)
392 -> mp_bitcnt_t;
393 pub fn __gmpz_root(arg1: mpz_ptr, arg2: mpz_srcptr,
394 arg3: ::std::os::raw::c_ulong)
395 -> ::std::os::raw::c_int;
396 pub fn __gmpz_rootrem(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr,
397 arg4: ::std::os::raw::c_ulong);
398 pub fn __gmpz_rrandomb(arg1: mpz_ptr, arg2: gmp_randstate_ptr,
399 arg3: mp_bitcnt_t);
400 pub fn __gmpz_scan0(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
401 pub fn __gmpz_scan1(arg1: mpz_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
402 pub fn __gmpz_set(arg1: mpz_ptr, arg2: mpz_srcptr);
403 pub fn __gmpz_set_d(arg1: mpz_ptr, arg2: ::std::os::raw::c_double);
404 pub fn __gmpz_set_f(arg1: mpz_ptr, arg2: mpf_srcptr);
405 pub fn __gmpz_set_q(__gmp_w: mpz_ptr, __gmp_u: mpq_srcptr);
406 pub fn __gmpz_set_si(arg1: mpz_ptr, arg2: ::std::os::raw::c_long);
407 pub fn __gmpz_set_str(arg1: mpz_ptr, arg2: *const ::std::os::raw::c_char,
408 arg3: ::std::os::raw::c_int)
409 -> ::std::os::raw::c_int;
410 pub fn __gmpz_set_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong);
411 pub fn __gmpz_setbit(arg1: mpz_ptr, arg2: mp_bitcnt_t);
412 pub fn __gmpz_size(__gmp_z: mpz_srcptr) -> size_t;
413 pub fn __gmpz_sizeinbase(arg1: mpz_srcptr, arg2: ::std::os::raw::c_int)
414 -> size_t;
415 pub fn __gmpz_sqrt(arg1: mpz_ptr, arg2: mpz_srcptr);
416 pub fn __gmpz_sqrtrem(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr);
417 pub fn __gmpz_sub(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
418 pub fn __gmpz_sub_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
419 arg3: ::std::os::raw::c_ulong);
420 pub fn __gmpz_ui_sub(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong,
421 arg3: mpz_srcptr);
422 pub fn __gmpz_submul(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
423 pub fn __gmpz_submul_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
424 arg3: ::std::os::raw::c_ulong);
425 pub fn __gmpz_swap(arg1: mpz_ptr, arg2: mpz_ptr);
426 pub fn __gmpz_tdiv_ui(arg1: mpz_srcptr, arg2: ::std::os::raw::c_ulong)
427 -> ::std::os::raw::c_ulong;
428 pub fn __gmpz_tdiv_q(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
429 pub fn __gmpz_tdiv_q_2exp(arg1: mpz_ptr, arg2: mpz_srcptr,
430 arg3: mp_bitcnt_t);
431 pub fn __gmpz_tdiv_q_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
432 arg3: ::std::os::raw::c_ulong)
433 -> ::std::os::raw::c_ulong;
434 pub fn __gmpz_tdiv_qr(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr,
435 arg4: mpz_srcptr);
436 pub fn __gmpz_tdiv_qr_ui(arg1: mpz_ptr, arg2: mpz_ptr, arg3: mpz_srcptr,
437 arg4: ::std::os::raw::c_ulong)
438 -> ::std::os::raw::c_ulong;
439 pub fn __gmpz_tdiv_r(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
440 pub fn __gmpz_tdiv_r_2exp(arg1: mpz_ptr, arg2: mpz_srcptr,
441 arg3: mp_bitcnt_t);
442 pub fn __gmpz_tdiv_r_ui(arg1: mpz_ptr, arg2: mpz_srcptr,
443 arg3: ::std::os::raw::c_ulong)
444 -> ::std::os::raw::c_ulong;
445 pub fn __gmpz_tstbit(arg1: mpz_srcptr, arg2: mp_bitcnt_t)
446 -> ::std::os::raw::c_int;
447 pub fn __gmpz_ui_pow_ui(arg1: mpz_ptr, arg2: ::std::os::raw::c_ulong,
448 arg3: ::std::os::raw::c_ulong);
449 pub fn __gmpz_urandomb(arg1: mpz_ptr, arg2: gmp_randstate_ptr,
450 arg3: mp_bitcnt_t);
451 pub fn __gmpz_urandomm(arg1: mpz_ptr, arg2: gmp_randstate_ptr,
452 arg3: mpz_srcptr);
453 pub fn __gmpz_xor(arg1: mpz_ptr, arg2: mpz_srcptr, arg3: mpz_srcptr);
454 pub fn __gmpz_limbs_read(arg1: mpz_srcptr) -> mp_srcptr;
455 pub fn __gmpz_limbs_write(arg1: mpz_ptr, arg2: mp_size_t) -> mp_ptr;
456 pub fn __gmpz_limbs_modify(arg1: mpz_ptr, arg2: mp_size_t) -> mp_ptr;
457 pub fn __gmpz_limbs_finish(arg1: mpz_ptr, arg2: mp_size_t);
458 pub fn __gmpz_roinit_n(arg1: mpz_ptr, arg2: mp_srcptr, arg3: mp_size_t)
459 -> mpz_srcptr;
460 pub fn __gmpq_abs(__gmp_w: mpq_ptr, __gmp_u: mpq_srcptr);
461 pub fn __gmpq_add(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
462 pub fn __gmpq_canonicalize(arg1: mpq_ptr);
463 pub fn __gmpq_clear(arg1: mpq_ptr);
464 pub fn __gmpq_clears(arg1: mpq_ptr, ...);
465 pub fn __gmpq_cmp(arg1: mpq_srcptr, arg2: mpq_srcptr)
466 -> ::std::os::raw::c_int;
467 pub fn __gmpq_cmp_si(arg1: mpq_srcptr, arg2: ::std::os::raw::c_long,
468 arg3: ::std::os::raw::c_ulong)
469 -> ::std::os::raw::c_int;
470 pub fn __gmpq_cmp_ui(arg1: mpq_srcptr, arg2: ::std::os::raw::c_ulong,
471 arg3: ::std::os::raw::c_ulong)
472 -> ::std::os::raw::c_int;
473 pub fn __gmpq_cmp_z(arg1: mpq_srcptr, arg2: mpz_srcptr)
474 -> ::std::os::raw::c_int;
475 pub fn __gmpq_div(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
476 pub fn __gmpq_div_2exp(arg1: mpq_ptr, arg2: mpq_srcptr,
477 arg3: mp_bitcnt_t);
478 pub fn __gmpq_equal(arg1: mpq_srcptr, arg2: mpq_srcptr)
479 -> ::std::os::raw::c_int;
480 pub fn __gmpq_get_num(arg1: mpz_ptr, arg2: mpq_srcptr);
481 pub fn __gmpq_get_den(arg1: mpz_ptr, arg2: mpq_srcptr);
482 pub fn __gmpq_get_d(arg1: mpq_srcptr) -> ::std::os::raw::c_double;
483 pub fn __gmpq_get_str(arg1: *mut ::std::os::raw::c_char,
484 arg2: ::std::os::raw::c_int, arg3: mpq_srcptr)
485 -> *mut ::std::os::raw::c_char;
486 pub fn __gmpq_init(arg1: mpq_ptr);
487 pub fn __gmpq_inits(arg1: mpq_ptr, ...);
488 pub fn __gmpq_inv(arg1: mpq_ptr, arg2: mpq_srcptr);
489 pub fn __gmpq_mul(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
490 pub fn __gmpq_mul_2exp(arg1: mpq_ptr, arg2: mpq_srcptr,
491 arg3: mp_bitcnt_t);
492 pub fn __gmpq_neg(__gmp_w: mpq_ptr, __gmp_u: mpq_srcptr);
493 pub fn __gmpq_set(arg1: mpq_ptr, arg2: mpq_srcptr);
494 pub fn __gmpq_set_d(arg1: mpq_ptr, arg2: ::std::os::raw::c_double);
495 pub fn __gmpq_set_den(arg1: mpq_ptr, arg2: mpz_srcptr);
496 pub fn __gmpq_set_f(arg1: mpq_ptr, arg2: mpf_srcptr);
497 pub fn __gmpq_set_num(arg1: mpq_ptr, arg2: mpz_srcptr);
498 pub fn __gmpq_set_si(arg1: mpq_ptr, arg2: ::std::os::raw::c_long,
499 arg3: ::std::os::raw::c_ulong);
500 pub fn __gmpq_set_str(arg1: mpq_ptr, arg2: *const ::std::os::raw::c_char,
501 arg3: ::std::os::raw::c_int)
502 -> ::std::os::raw::c_int;
503 pub fn __gmpq_set_ui(arg1: mpq_ptr, arg2: ::std::os::raw::c_ulong,
504 arg3: ::std::os::raw::c_ulong);
505 pub fn __gmpq_set_z(arg1: mpq_ptr, arg2: mpz_srcptr);
506 pub fn __gmpq_sub(arg1: mpq_ptr, arg2: mpq_srcptr, arg3: mpq_srcptr);
507 pub fn __gmpq_swap(arg1: mpq_ptr, arg2: mpq_ptr);
508 pub fn __gmpf_abs(arg1: mpf_ptr, arg2: mpf_srcptr);
509 pub fn __gmpf_add(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
510 pub fn __gmpf_add_ui(arg1: mpf_ptr, arg2: mpf_srcptr,
511 arg3: ::std::os::raw::c_ulong);
512 pub fn __gmpf_ceil(arg1: mpf_ptr, arg2: mpf_srcptr);
513 pub fn __gmpf_clear(arg1: mpf_ptr);
514 pub fn __gmpf_clears(arg1: mpf_ptr, ...);
515 pub fn __gmpf_cmp(arg1: mpf_srcptr, arg2: mpf_srcptr)
516 -> ::std::os::raw::c_int;
517 pub fn __gmpf_cmp_z(arg1: mpf_srcptr, arg2: mpz_srcptr)
518 -> ::std::os::raw::c_int;
519 pub fn __gmpf_cmp_d(arg1: mpf_srcptr, arg2: ::std::os::raw::c_double)
520 -> ::std::os::raw::c_int;
521 pub fn __gmpf_cmp_si(arg1: mpf_srcptr, arg2: ::std::os::raw::c_long)
522 -> ::std::os::raw::c_int;
523 pub fn __gmpf_cmp_ui(arg1: mpf_srcptr, arg2: ::std::os::raw::c_ulong)
524 -> ::std::os::raw::c_int;
525 pub fn __gmpf_div(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
526 pub fn __gmpf_div_2exp(arg1: mpf_ptr, arg2: mpf_srcptr,
527 arg3: mp_bitcnt_t);
528 pub fn __gmpf_div_ui(arg1: mpf_ptr, arg2: mpf_srcptr,
529 arg3: ::std::os::raw::c_ulong);
530 pub fn __gmpf_dump(arg1: mpf_srcptr);
531 pub fn __gmpf_eq(arg1: mpf_srcptr, arg2: mpf_srcptr, arg3: mp_bitcnt_t)
532 -> ::std::os::raw::c_int;
533 pub fn __gmpf_fits_sint_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
534 pub fn __gmpf_fits_slong_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
535 pub fn __gmpf_fits_sshort_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
536 pub fn __gmpf_fits_uint_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
537 pub fn __gmpf_fits_ulong_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
538 pub fn __gmpf_fits_ushort_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
539 pub fn __gmpf_floor(arg1: mpf_ptr, arg2: mpf_srcptr);
540 pub fn __gmpf_get_d(arg1: mpf_srcptr) -> ::std::os::raw::c_double;
541 pub fn __gmpf_get_d_2exp(arg1: *mut ::std::os::raw::c_long,
542 arg2: mpf_srcptr) -> ::std::os::raw::c_double;
543 pub fn __gmpf_get_default_prec() -> mp_bitcnt_t;
544 pub fn __gmpf_get_prec(arg1: mpf_srcptr) -> mp_bitcnt_t;
545 pub fn __gmpf_get_si(arg1: mpf_srcptr) -> ::std::os::raw::c_long;
546 pub fn __gmpf_get_str(arg1: *mut ::std::os::raw::c_char,
547 arg2: *mut mp_exp_t, arg3: ::std::os::raw::c_int,
548 arg4: size_t, arg5: mpf_srcptr)
549 -> *mut ::std::os::raw::c_char;
550 pub fn __gmpf_get_ui(arg1: mpf_srcptr) -> ::std::os::raw::c_ulong;
551 pub fn __gmpf_init(arg1: mpf_ptr);
552 pub fn __gmpf_init2(arg1: mpf_ptr, arg2: mp_bitcnt_t);
553 pub fn __gmpf_inits(arg1: mpf_ptr, ...);
554 pub fn __gmpf_init_set(arg1: mpf_ptr, arg2: mpf_srcptr);
555 pub fn __gmpf_init_set_d(arg1: mpf_ptr, arg2: ::std::os::raw::c_double);
556 pub fn __gmpf_init_set_si(arg1: mpf_ptr, arg2: ::std::os::raw::c_long);
557 pub fn __gmpf_init_set_str(arg1: mpf_ptr,
558 arg2: *const ::std::os::raw::c_char,
559 arg3: ::std::os::raw::c_int)
560 -> ::std::os::raw::c_int;
561 pub fn __gmpf_init_set_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
562 pub fn __gmpf_integer_p(arg1: mpf_srcptr) -> ::std::os::raw::c_int;
563 pub fn __gmpf_mul(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
564 pub fn __gmpf_mul_2exp(arg1: mpf_ptr, arg2: mpf_srcptr,
565 arg3: mp_bitcnt_t);
566 pub fn __gmpf_mul_ui(arg1: mpf_ptr, arg2: mpf_srcptr,
567 arg3: ::std::os::raw::c_ulong);
568 pub fn __gmpf_neg(arg1: mpf_ptr, arg2: mpf_srcptr);
569 pub fn __gmpf_pow_ui(arg1: mpf_ptr, arg2: mpf_srcptr,
570 arg3: ::std::os::raw::c_ulong);
571 pub fn __gmpf_random2(arg1: mpf_ptr, arg2: mp_size_t, arg3: mp_exp_t);
572 pub fn __gmpf_reldiff(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
573 pub fn __gmpf_set(arg1: mpf_ptr, arg2: mpf_srcptr);
574 pub fn __gmpf_set_d(arg1: mpf_ptr, arg2: ::std::os::raw::c_double);
575 pub fn __gmpf_set_default_prec(arg1: mp_bitcnt_t);
576 pub fn __gmpf_set_prec(arg1: mpf_ptr, arg2: mp_bitcnt_t);
577 pub fn __gmpf_set_prec_raw(arg1: mpf_ptr, arg2: mp_bitcnt_t);
578 pub fn __gmpf_set_q(arg1: mpf_ptr, arg2: mpq_srcptr);
579 pub fn __gmpf_set_si(arg1: mpf_ptr, arg2: ::std::os::raw::c_long);
580 pub fn __gmpf_set_str(arg1: mpf_ptr, arg2: *const ::std::os::raw::c_char,
581 arg3: ::std::os::raw::c_int)
582 -> ::std::os::raw::c_int;
583 pub fn __gmpf_set_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
584 pub fn __gmpf_set_z(arg1: mpf_ptr, arg2: mpz_srcptr);
585 pub fn __gmpf_size(arg1: mpf_srcptr) -> size_t;
586 pub fn __gmpf_sqrt(arg1: mpf_ptr, arg2: mpf_srcptr);
587 pub fn __gmpf_sqrt_ui(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong);
588 pub fn __gmpf_sub(arg1: mpf_ptr, arg2: mpf_srcptr, arg3: mpf_srcptr);
589 pub fn __gmpf_sub_ui(arg1: mpf_ptr, arg2: mpf_srcptr,
590 arg3: ::std::os::raw::c_ulong);
591 pub fn __gmpf_swap(arg1: mpf_ptr, arg2: mpf_ptr);
592 pub fn __gmpf_trunc(arg1: mpf_ptr, arg2: mpf_srcptr);
593 pub fn __gmpf_ui_div(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong,
594 arg3: mpf_srcptr);
595 pub fn __gmpf_ui_sub(arg1: mpf_ptr, arg2: ::std::os::raw::c_ulong,
596 arg3: mpf_srcptr);
597 pub fn __gmpf_urandomb(arg1: mpf_t, arg2: gmp_randstate_ptr,
598 arg3: mp_bitcnt_t);
599 pub fn __gmpn_add(__gmp_wp: mp_ptr, __gmp_xp: mp_srcptr,
600 __gmp_xsize: mp_size_t, __gmp_yp: mp_srcptr,
601 __gmp_ysize: mp_size_t) -> mp_limb_t;
602 pub fn __gmpn_add_1(__gmp_dst: mp_ptr, __gmp_src: mp_srcptr,
603 __gmp_size: mp_size_t, __gmp_n: mp_limb_t)
604 -> mp_limb_t;
605 pub fn __gmpn_add_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
606 arg4: mp_size_t) -> mp_limb_t;
607 pub fn __gmpn_addmul_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
608 arg4: mp_limb_t) -> mp_limb_t;
609 pub fn __gmpn_cmp(__gmp_xp: mp_srcptr, __gmp_yp: mp_srcptr,
610 __gmp_size: mp_size_t) -> ::std::os::raw::c_int;
611 pub fn __gmpn_zero_p(__gmp_p: mp_srcptr, __gmp_n: mp_size_t)
612 -> ::std::os::raw::c_int;
613 pub fn __gmpn_divexact_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
614 arg4: mp_limb_t);
615 pub fn __gmpn_divexact_by3c(arg1: mp_ptr, arg2: mp_srcptr,
616 arg3: mp_size_t, arg4: mp_limb_t)
617 -> mp_limb_t;
618 pub fn __gmpn_divrem(arg1: mp_ptr, arg2: mp_size_t, arg3: mp_ptr,
619 arg4: mp_size_t, arg5: mp_srcptr, arg6: mp_size_t)
620 -> mp_limb_t;
621 pub fn __gmpn_divrem_1(arg1: mp_ptr, arg2: mp_size_t, arg3: mp_srcptr,
622 arg4: mp_size_t, arg5: mp_limb_t) -> mp_limb_t;
623 pub fn __gmpn_divrem_2(arg1: mp_ptr, arg2: mp_size_t, arg3: mp_ptr,
624 arg4: mp_size_t, arg5: mp_srcptr) -> mp_limb_t;
625 pub fn __gmpn_div_qr_1(arg1: mp_ptr, arg2: *mut mp_limb_t,
626 arg3: mp_srcptr, arg4: mp_size_t, arg5: mp_limb_t)
627 -> mp_limb_t;
628 pub fn __gmpn_div_qr_2(arg1: mp_ptr, arg2: mp_ptr, arg3: mp_srcptr,
629 arg4: mp_size_t, arg5: mp_srcptr) -> mp_limb_t;
630 pub fn __gmpn_gcd(arg1: mp_ptr, arg2: mp_ptr, arg3: mp_size_t,
631 arg4: mp_ptr, arg5: mp_size_t) -> mp_size_t;
632 pub fn __gmpn_gcd_1(arg1: mp_srcptr, arg2: mp_size_t, arg3: mp_limb_t)
633 -> mp_limb_t;
634 pub fn __gmpn_gcdext_1(arg1: *mut mp_limb_signed_t,
635 arg2: *mut mp_limb_signed_t, arg3: mp_limb_t,
636 arg4: mp_limb_t) -> mp_limb_t;
637 pub fn __gmpn_gcdext(arg1: mp_ptr, arg2: mp_ptr, arg3: *mut mp_size_t,
638 arg4: mp_ptr, arg5: mp_size_t, arg6: mp_ptr,
639 arg7: mp_size_t) -> mp_size_t;
640 pub fn __gmpn_get_str(arg1: *mut ::std::os::raw::c_uchar,
641 arg2: ::std::os::raw::c_int, arg3: mp_ptr,
642 arg4: mp_size_t) -> size_t;
643 pub fn __gmpn_hamdist(arg1: mp_srcptr, arg2: mp_srcptr, arg3: mp_size_t)
644 -> mp_bitcnt_t;
645 pub fn __gmpn_lshift(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
646 arg4: ::std::os::raw::c_uint) -> mp_limb_t;
647 pub fn __gmpn_mod_1(arg1: mp_srcptr, arg2: mp_size_t, arg3: mp_limb_t)
648 -> mp_limb_t;
649 pub fn __gmpn_mul(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
650 arg4: mp_srcptr, arg5: mp_size_t) -> mp_limb_t;
651 pub fn __gmpn_mul_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
652 arg4: mp_limb_t) -> mp_limb_t;
653 pub fn __gmpn_mul_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
654 arg4: mp_size_t);
655 pub fn __gmpn_sqr(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
656 pub fn __gmpn_neg(__gmp_rp: mp_ptr, __gmp_up: mp_srcptr,
657 __gmp_n: mp_size_t) -> mp_limb_t;
658 pub fn __gmpn_com(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
659 pub fn __gmpn_perfect_square_p(arg1: mp_srcptr, arg2: mp_size_t)
660 -> ::std::os::raw::c_int;
661 pub fn __gmpn_perfect_power_p(arg1: mp_srcptr, arg2: mp_size_t)
662 -> ::std::os::raw::c_int;
663 pub fn __gmpn_popcount(arg1: mp_srcptr, arg2: mp_size_t) -> mp_bitcnt_t;
664 pub fn __gmpn_pow_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
665 arg4: mp_limb_t, arg5: mp_ptr) -> mp_size_t;
666 pub fn __gmpn_preinv_mod_1(arg1: mp_srcptr, arg2: mp_size_t,
667 arg3: mp_limb_t, arg4: mp_limb_t) -> mp_limb_t;
668 pub fn __gmpn_random(arg1: mp_ptr, arg2: mp_size_t);
669 pub fn __gmpn_random2(arg1: mp_ptr, arg2: mp_size_t);
670 pub fn __gmpn_rshift(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
671 arg4: ::std::os::raw::c_uint) -> mp_limb_t;
672 pub fn __gmpn_scan0(arg1: mp_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
673 pub fn __gmpn_scan1(arg1: mp_srcptr, arg2: mp_bitcnt_t) -> mp_bitcnt_t;
674 pub fn __gmpn_set_str(arg1: mp_ptr, arg2: *const ::std::os::raw::c_uchar,
675 arg3: size_t, arg4: ::std::os::raw::c_int)
676 -> mp_size_t;
677 pub fn __gmpn_sizeinbase(arg1: mp_srcptr, arg2: mp_size_t,
678 arg3: ::std::os::raw::c_int) -> size_t;
679 pub fn __gmpn_sqrtrem(arg1: mp_ptr, arg2: mp_ptr, arg3: mp_srcptr,
680 arg4: mp_size_t) -> mp_size_t;
681 pub fn __gmpn_sub(__gmp_wp: mp_ptr, __gmp_xp: mp_srcptr,
682 __gmp_xsize: mp_size_t, __gmp_yp: mp_srcptr,
683 __gmp_ysize: mp_size_t) -> mp_limb_t;
684 pub fn __gmpn_sub_1(__gmp_dst: mp_ptr, __gmp_src: mp_srcptr,
685 __gmp_size: mp_size_t, __gmp_n: mp_limb_t)
686 -> mp_limb_t;
687 pub fn __gmpn_sub_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
688 arg4: mp_size_t) -> mp_limb_t;
689 pub fn __gmpn_submul_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
690 arg4: mp_limb_t) -> mp_limb_t;
691 pub fn __gmpn_tdiv_qr(arg1: mp_ptr, arg2: mp_ptr, arg3: mp_size_t,
692 arg4: mp_srcptr, arg5: mp_size_t, arg6: mp_srcptr,
693 arg7: mp_size_t);
694 pub fn __gmpn_and_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
695 arg4: mp_size_t);
696 pub fn __gmpn_andn_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
697 arg4: mp_size_t);
698 pub fn __gmpn_nand_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
699 arg4: mp_size_t);
700 pub fn __gmpn_ior_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
701 arg4: mp_size_t);
702 pub fn __gmpn_iorn_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
703 arg4: mp_size_t);
704 pub fn __gmpn_nior_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
705 arg4: mp_size_t);
706 pub fn __gmpn_xor_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
707 arg4: mp_size_t);
708 pub fn __gmpn_xnor_n(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_srcptr,
709 arg4: mp_size_t);
710 pub fn __gmpn_copyi(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
711 pub fn __gmpn_copyd(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t);
712 pub fn __gmpn_zero(arg1: mp_ptr, arg2: mp_size_t);
713 pub fn __gmpn_cnd_add_n(arg1: mp_limb_t, arg2: mp_ptr, arg3: mp_srcptr,
714 arg4: mp_srcptr, arg5: mp_size_t) -> mp_limb_t;
715 pub fn __gmpn_cnd_sub_n(arg1: mp_limb_t, arg2: mp_ptr, arg3: mp_srcptr,
716 arg4: mp_srcptr, arg5: mp_size_t) -> mp_limb_t;
717 pub fn __gmpn_sec_add_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
718 arg4: mp_limb_t, arg5: mp_ptr) -> mp_limb_t;
719 pub fn __gmpn_sec_add_1_itch(arg1: mp_size_t) -> mp_size_t;
720 pub fn __gmpn_sec_sub_1(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
721 arg4: mp_limb_t, arg5: mp_ptr) -> mp_limb_t;
722 pub fn __gmpn_sec_sub_1_itch(arg1: mp_size_t) -> mp_size_t;
723 pub fn __gmpn_cnd_swap(arg1: mp_limb_t, arg2: *mut mp_limb_t,
724 arg3: *mut mp_limb_t, arg4: mp_size_t);
725 pub fn __gmpn_sec_mul(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
726 arg4: mp_srcptr, arg5: mp_size_t, arg6: mp_ptr);
727 pub fn __gmpn_sec_mul_itch(arg1: mp_size_t, arg2: mp_size_t) -> mp_size_t;
728 pub fn __gmpn_sec_sqr(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
729 arg4: mp_ptr);
730 pub fn __gmpn_sec_sqr_itch(arg1: mp_size_t) -> mp_size_t;
731 pub fn __gmpn_sec_powm(arg1: mp_ptr, arg2: mp_srcptr, arg3: mp_size_t,
732 arg4: mp_srcptr, arg5: mp_bitcnt_t,
733 arg6: mp_srcptr, arg7: mp_size_t, arg8: mp_ptr);
734 pub fn __gmpn_sec_powm_itch(arg1: mp_size_t, arg2: mp_bitcnt_t,
735 arg3: mp_size_t) -> mp_size_t;
736 pub fn __gmpn_sec_tabselect(arg1: *mut mp_limb_t, arg2: *const mp_limb_t,
737 arg3: mp_size_t, arg4: mp_size_t,
738 arg5: mp_size_t);
739 pub fn __gmpn_sec_div_qr(arg1: mp_ptr, arg2: mp_ptr, arg3: mp_size_t,
740 arg4: mp_srcptr, arg5: mp_size_t, arg6: mp_ptr)
741 -> mp_limb_t;
742 pub fn __gmpn_sec_div_qr_itch(arg1: mp_size_t, arg2: mp_size_t)
743 -> mp_size_t;
744 pub fn __gmpn_sec_div_r(arg1: mp_ptr, arg2: mp_size_t, arg3: mp_srcptr,
745 arg4: mp_size_t, arg5: mp_ptr);
746 pub fn __gmpn_sec_div_r_itch(arg1: mp_size_t, arg2: mp_size_t)
747 -> mp_size_t;
748 pub fn __gmpn_sec_invert(arg1: mp_ptr, arg2: mp_ptr, arg3: mp_srcptr,
749 arg4: mp_size_t, arg5: mp_bitcnt_t, arg6: mp_ptr)
750 -> ::std::os::raw::c_int;
751 pub fn __gmpn_sec_invert_itch(arg1: mp_size_t) -> mp_size_t;
752}