1#![allow(non_camel_case_types)]
2
3use crate::arf::{arf_ptr, arf_srcptr, arf_struct};
6use crate::mag::{mag_ptr, mag_srcptr, mag_struct};
7use flint_sys::deps::*;
8use flint_sys::flint::*;
9use flint_sys::fmpq::fmpq;
10use flint_sys::fmpz::fmpz;
11use libc::{c_char, c_int, FILE};
12
13#[repr(C)]
14#[derive(Copy, Clone, Debug)]
15pub struct arb_struct {
16 pub mid: arf_struct,
17 pub rad: mag_struct,
18}
19
20pub type arb_t = [arb_struct; 1usize];
21pub type arb_ptr = *mut arb_struct;
22pub type arb_srcptr = *const arb_struct;
23
24extern "C" {
25 pub fn arb_init(x: *mut arb_struct);
26 pub fn arb_clear(x: *mut arb_struct);
27 pub fn _arb_vec_init(n: mp_limb_signed_t) -> arb_ptr;
28 pub fn _arb_vec_clear(v: arb_ptr, n: mp_limb_signed_t);
29 pub fn arb_mid_ptr(z: *const arb_struct) -> arf_ptr;
30 pub fn arb_rad_ptr(z: *const arb_struct) -> mag_ptr;
31 pub fn arb_is_exact(x: *const arb_struct) -> c_int;
32 pub fn arb_equal(x: *const arb_struct, y: *const arb_struct) -> c_int;
33 pub fn arb_equal_si(x: *const arb_struct, y: mp_limb_signed_t) -> c_int;
34 pub fn arb_eq(x: *const arb_struct, y: *const arb_struct) -> c_int;
35 pub fn arb_ne(x: *const arb_struct, y: *const arb_struct) -> c_int;
36 pub fn arb_lt(x: *const arb_struct, y: *const arb_struct) -> c_int;
37 pub fn arb_le(x: *const arb_struct, y: *const arb_struct) -> c_int;
38 pub fn arb_gt(x: *const arb_struct, y: *const arb_struct) -> c_int;
39 pub fn arb_ge(x: *const arb_struct, y: *const arb_struct) -> c_int;
40 pub fn arb_zero(x: *mut arb_struct);
41 pub fn arb_is_zero(x: *const arb_struct) -> c_int;
42 pub fn arb_pos_inf(x: *mut arb_struct);
43 pub fn arb_neg_inf(x: *mut arb_struct);
44 pub fn arb_zero_pm_inf(x: *mut arb_struct);
45 pub fn arb_zero_pm_one(x: *mut arb_struct);
46 pub fn arb_unit_interval(x: *mut arb_struct);
47 pub fn arb_indeterminate(x: *mut arb_struct);
48 pub fn arb_is_finite(x: *const arb_struct) -> c_int;
49 pub fn arb_set(x: *mut arb_struct, y: *const arb_struct);
50 pub fn arb_swap(x: *mut arb_struct, y: *mut arb_struct);
51 pub fn arb_set_round(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
52 pub fn arb_trim(y: *mut arb_struct, x: *const arb_struct);
53 pub fn arb_neg(y: *mut arb_struct, x: *const arb_struct);
54 pub fn arb_neg_round(x: *mut arb_struct, y: *const arb_struct, prec: mp_limb_signed_t);
55 pub fn arb_abs(y: *mut arb_struct, x: *const arb_struct);
56 pub fn arb_sgn(res: *mut arb_struct, x: *const arb_struct);
57 pub fn arb_sgn_nonzero(x: *const arb_struct) -> c_int;
58 pub fn _arb_digits_round_inplace(
59 s: *mut c_char,
60 shift: *const mp_limb_t,
61 error: *const fmpz,
62 n: mp_limb_signed_t,
63 rnd: c_int,
64 );
65 pub fn arb_set_str(res: *mut arb_struct, inp: *const c_char, prec: mp_limb_signed_t) -> c_int;
66 pub fn arb_get_str(x: *const arb_struct, n: mp_limb_signed_t, flags: mp_limb_t) -> *mut c_char;
67 pub fn arb_set_arf(x: *mut arb_struct, y: *const arf_struct);
68 pub fn arb_set_si(x: *mut arb_struct, y: mp_limb_signed_t);
69 pub fn arb_set_ui(x: *mut arb_struct, y: mp_limb_t);
70 pub fn arb_set_d(x: *mut arb_struct, y: f64);
71 pub fn arb_set_fmpz(x: *mut arb_struct, y: *const fmpz);
72 pub fn arb_set_fmpz_2exp(x: *mut arb_struct, y: *const fmpz, exp: *const fmpz);
73 pub fn arb_set_round_fmpz_2exp(
74 y: *mut arb_struct,
75 x: *const fmpz,
76 exp: *const fmpz,
77 prec: mp_limb_signed_t,
78 );
79 pub fn arb_set_round_fmpz(y: *mut arb_struct, x: *const fmpz, prec: mp_limb_signed_t);
80 pub fn arb_is_one(f: *const arb_struct) -> c_int;
81 pub fn arb_one(f: *mut arb_struct);
82 pub fn arb_fprint(file: *mut FILE, x: *const arb_struct);
83 pub fn arb_fprintd(file: *mut FILE, x: *const arb_struct, digits: mp_limb_signed_t);
84 pub fn arb_fprintn(
85 file: *mut FILE,
86 x: *const arb_struct,
87 digits: mp_limb_signed_t,
88 flags: mp_limb_t,
89 );
90 pub fn arb_print(x: *const arb_struct);
91 pub fn arb_printd(x: *const arb_struct, digits: mp_limb_signed_t);
92 pub fn arb_printn(x: *const arb_struct, digits: mp_limb_signed_t, flags: mp_limb_t);
93 pub fn arb_mul_2exp_si(y: *mut arb_struct, x: *const arb_struct, e: mp_limb_signed_t);
94 pub fn arb_mul_2exp_fmpz(y: *mut arb_struct, x: *const arb_struct, e: *const fmpz);
95 pub fn arb_is_int(x: *const arb_struct) -> c_int;
96 pub fn arb_is_int_2exp_si(x: *const arb_struct, e: mp_limb_signed_t) -> c_int;
97 pub fn arb_contains_zero(x: *const arb_struct) -> c_int;
98 pub fn arb_is_nonzero(x: *const arb_struct) -> c_int;
99 pub fn arb_is_positive(x: *const arb_struct) -> c_int;
100 pub fn arb_is_nonnegative(x: *const arb_struct) -> c_int;
101 pub fn arb_is_negative(x: *const arb_struct) -> c_int;
102 pub fn arb_is_nonpositive(x: *const arb_struct) -> c_int;
103 pub fn arb_contains_negative(x: *const arb_struct) -> c_int;
104 pub fn arb_contains_nonpositive(x: *const arb_struct) -> c_int;
105 pub fn arb_contains_positive(x: *const arb_struct) -> c_int;
106 pub fn arb_contains_nonnegative(x: *const arb_struct) -> c_int;
107 pub fn arb_get_mag_lower(z: *mut mag_struct, x: *const arb_struct);
108 pub fn arb_get_mag_lower_nonnegative(z: *mut mag_struct, x: *const arb_struct);
109 pub fn arb_get_mag(z: *mut mag_struct, x: *const arb_struct);
110 pub fn arb_get_mid_arb(z: *mut arb_struct, x: *const arb_struct);
111 pub fn arb_get_rad_arb(z: *mut arb_struct, x: *const arb_struct);
112 pub fn arb_get_abs_ubound_arf(u: *mut arf_struct, x: *const arb_struct, prec: mp_limb_signed_t);
113 pub fn arb_get_abs_lbound_arf(u: *mut arf_struct, x: *const arb_struct, prec: mp_limb_signed_t);
114 pub fn arb_get_ubound_arf(u: *mut arf_struct, x: *const arb_struct, prec: mp_limb_signed_t);
115 pub fn arb_get_lbound_arf(u: *mut arf_struct, x: *const arb_struct, prec: mp_limb_signed_t);
116 pub fn arb_nonnegative_part(res: *mut arb_struct, x: *const arb_struct);
117 pub fn arb_rel_error_bits(x: *const arb_struct) -> mp_limb_signed_t;
118 pub fn arb_rel_accuracy_bits(x: *const arb_struct) -> mp_limb_signed_t;
119 pub fn arb_rel_one_accuracy_bits(x: *const arb_struct) -> mp_limb_signed_t;
120 pub fn arb_bits(x: *const arb_struct) -> mp_limb_signed_t;
121 pub fn arb_randtest_exact(
122 x: *mut arb_struct,
123 state: *const flint_rand_s,
124 prec: mp_limb_signed_t,
125 mag_bits: mp_limb_signed_t,
126 );
127 pub fn arb_randtest_wide(
128 x: *mut arb_struct,
129 state: *const flint_rand_s,
130 prec: mp_limb_signed_t,
131 mag_bits: mp_limb_signed_t,
132 );
133 pub fn arb_randtest_precise(
134 x: *mut arb_struct,
135 state: *const flint_rand_s,
136 prec: mp_limb_signed_t,
137 mag_bits: mp_limb_signed_t,
138 );
139 pub fn arb_randtest(
140 x: *mut arb_struct,
141 state: *const flint_rand_s,
142 prec: mp_limb_signed_t,
143 mag_bits: mp_limb_signed_t,
144 );
145 pub fn arb_randtest_special(
146 x: *mut arb_struct,
147 state: *const flint_rand_s,
148 prec: mp_limb_signed_t,
149 mag_bits: mp_limb_signed_t,
150 );
151 pub fn arb_urandom(x: *mut arb_struct, state: *const flint_rand_s, prec: mp_limb_signed_t);
152 pub fn arb_add_error_arf(x: *mut arb_struct, err: *const arf_struct);
153 pub fn arb_add_error_2exp_si(x: *mut arb_struct, err: mp_limb_signed_t);
154 pub fn arb_add_error_2exp_fmpz(x: *mut arb_struct, err: *const fmpz);
155 pub fn arb_add_error(x: *mut arb_struct, error: *const arb_struct);
156 pub fn arb_add_error_mag(x: *mut arb_struct, err: *const mag_struct);
157 pub fn arb_contains_arf(x: *const arb_struct, y: *const arf_struct) -> c_int;
158 pub fn arb_contains_fmpq(x: *const arb_struct, y: *const fmpq) -> c_int;
159 pub fn arb_contains_fmpz(x: *const arb_struct, y: *const fmpz) -> c_int;
160 pub fn arb_contains_si(x: *const arb_struct, y: mp_limb_signed_t) -> c_int;
161 pub fn arb_contains_mpfr(x: *const arb_struct, y: *const __mpfr_struct) -> c_int;
162 pub fn arb_overlaps(x: *const arb_struct, y: *const arb_struct) -> c_int;
163 pub fn arb_contains(x: *const arb_struct, y: *const arb_struct) -> c_int;
164 pub fn arb_contains_interior(x: *const arb_struct, y: *const arb_struct) -> c_int;
165 pub fn arb_contains_int(x: *const arb_struct) -> c_int;
166 pub fn arb_get_interval_fmpz_2exp(
167 a: *mut fmpz,
168 b: *mut fmpz,
169 exp: *mut fmpz,
170 x: *const arb_struct,
171 );
172 pub fn arb_get_unique_fmpz(z: *mut fmpz, x: *const arb_struct) -> c_int;
173 pub fn arb_get_fmpz_mid_rad_10exp(
174 mid: *mut fmpz,
175 rad: *mut fmpz,
176 exp: *mut fmpz,
177 x: *const arb_struct,
178 n: mp_limb_signed_t,
179 );
180 pub fn arb_floor(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
181 pub fn arb_ceil(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
182 pub fn arb_set_interval_arf(
183 x: *mut arb_struct,
184 a: *const arf_struct,
185 b: *const arf_struct,
186 prec: mp_limb_signed_t,
187 );
188 pub fn arb_set_interval_mpfr(
189 x: *mut arb_struct,
190 a: *const __mpfr_struct,
191 b: *const __mpfr_struct,
192 prec: mp_limb_signed_t,
193 );
194 pub fn arb_get_interval_arf(
195 a: *mut arf_struct,
196 b: *mut arf_struct,
197 x: *const arb_struct,
198 prec: mp_limb_signed_t,
199 );
200 pub fn arb_get_interval_mpfr(
201 a: *mut __mpfr_struct,
202 b: *mut __mpfr_struct,
203 x: *const arb_struct,
204 );
205 pub fn arb_set_interval_mag(
206 res: *mut arb_struct,
207 a: *const mag_struct,
208 b: *const mag_struct,
209 prec: mp_limb_signed_t,
210 );
211 pub fn arb_set_interval_neg_pos_mag(
212 res: *mut arb_struct,
213 a: *const mag_struct,
214 b: *const mag_struct,
215 prec: mp_limb_signed_t,
216 );
217 pub fn arb_union(
218 z: *mut arb_struct,
219 x: *const arb_struct,
220 y: *const arb_struct,
221 prec: mp_limb_signed_t,
222 );
223 pub fn arb_intersection(
224 z: *mut arb_struct,
225 x: *const arb_struct,
226 y: *const arb_struct,
227 prec: mp_limb_signed_t,
228 ) -> c_int;
229 pub fn arb_get_rand_fmpq(
230 q: *mut fmpq,
231 state: *const flint_rand_s,
232 x: *const arb_struct,
233 bits: mp_limb_signed_t,
234 );
235 pub fn arb_min(
236 z: *mut arb_struct,
237 x: *const arb_struct,
238 y: *const arb_struct,
239 prec: mp_limb_signed_t,
240 );
241 pub fn arb_max(
242 z: *mut arb_struct,
243 x: *const arb_struct,
244 y: *const arb_struct,
245 prec: mp_limb_signed_t,
246 );
247 pub fn arb_can_round_arf(x: *const arb_struct, prec: mp_limb_signed_t, rnd: c_int) -> c_int;
248 pub fn arb_can_round_mpfr(
249 x: *const arb_struct,
250 prec: mp_limb_signed_t,
251 rnd: mpfr_rnd_t,
252 ) -> c_int;
253 pub fn arb_add(
254 z: *mut arb_struct,
255 x: *const arb_struct,
256 y: *const arb_struct,
257 prec: mp_limb_signed_t,
258 );
259 pub fn arb_add_arf(
260 z: *mut arb_struct,
261 x: *const arb_struct,
262 y: *const arf_struct,
263 prec: mp_limb_signed_t,
264 );
265 pub fn arb_add_ui(
266 z: *mut arb_struct,
267 x: *const arb_struct,
268 y: mp_limb_t,
269 prec: mp_limb_signed_t,
270 );
271 pub fn arb_add_si(
272 z: *mut arb_struct,
273 x: *const arb_struct,
274 y: mp_limb_signed_t,
275 prec: mp_limb_signed_t,
276 );
277 pub fn arb_add_fmpz(
278 z: *mut arb_struct,
279 x: *const arb_struct,
280 y: *const fmpz,
281 prec: mp_limb_signed_t,
282 );
283 pub fn arb_add_fmpz_2exp(
284 z: *mut arb_struct,
285 x: *const arb_struct,
286 man: *const fmpz,
287 exp: *const fmpz,
288 prec: mp_limb_signed_t,
289 );
290 pub fn arb_sub(
291 z: *mut arb_struct,
292 x: *const arb_struct,
293 y: *const arb_struct,
294 prec: mp_limb_signed_t,
295 );
296 pub fn arb_sub_arf(
297 z: *mut arb_struct,
298 x: *const arb_struct,
299 y: *const arf_struct,
300 prec: mp_limb_signed_t,
301 );
302 pub fn arb_sub_ui(
303 z: *mut arb_struct,
304 x: *const arb_struct,
305 y: mp_limb_t,
306 prec: mp_limb_signed_t,
307 );
308 pub fn arb_sub_si(
309 z: *mut arb_struct,
310 x: *const arb_struct,
311 y: mp_limb_signed_t,
312 prec: mp_limb_signed_t,
313 );
314 pub fn arb_sub_fmpz(
315 z: *mut arb_struct,
316 x: *const arb_struct,
317 y: *const fmpz,
318 prec: mp_limb_signed_t,
319 );
320 pub fn arb_mul(
321 z: *mut arb_struct,
322 x: *const arb_struct,
323 y: *const arb_struct,
324 prec: mp_limb_signed_t,
325 );
326 pub fn arb_mul_arf(
327 z: *mut arb_struct,
328 x: *const arb_struct,
329 y: *const arf_struct,
330 prec: mp_limb_signed_t,
331 );
332 pub fn arb_mul_si(
333 z: *mut arb_struct,
334 x: *const arb_struct,
335 y: mp_limb_signed_t,
336 prec: mp_limb_signed_t,
337 );
338 pub fn arb_mul_ui(
339 z: *mut arb_struct,
340 x: *const arb_struct,
341 y: mp_limb_t,
342 prec: mp_limb_signed_t,
343 );
344 pub fn arb_mul_fmpz(
345 z: *mut arb_struct,
346 x: *const arb_struct,
347 y: *const fmpz,
348 prec: mp_limb_signed_t,
349 );
350 pub fn arb_addmul(
351 z: *mut arb_struct,
352 x: *const arb_struct,
353 y: *const arb_struct,
354 prec: mp_limb_signed_t,
355 );
356 pub fn arb_addmul_arf(
357 z: *mut arb_struct,
358 x: *const arb_struct,
359 y: *const arf_struct,
360 prec: mp_limb_signed_t,
361 );
362 pub fn arb_addmul_si(
363 z: *mut arb_struct,
364 x: *const arb_struct,
365 y: mp_limb_signed_t,
366 prec: mp_limb_signed_t,
367 );
368 pub fn arb_addmul_ui(
369 z: *mut arb_struct,
370 x: *const arb_struct,
371 y: mp_limb_t,
372 prec: mp_limb_signed_t,
373 );
374 pub fn arb_addmul_fmpz(
375 z: *mut arb_struct,
376 x: *const arb_struct,
377 y: *const fmpz,
378 prec: mp_limb_signed_t,
379 );
380 pub fn arb_submul(
381 z: *mut arb_struct,
382 x: *const arb_struct,
383 y: *const arb_struct,
384 prec: mp_limb_signed_t,
385 );
386 pub fn arb_submul_arf(
387 z: *mut arb_struct,
388 x: *const arb_struct,
389 y: *const arf_struct,
390 prec: mp_limb_signed_t,
391 );
392 pub fn arb_submul_si(
393 z: *mut arb_struct,
394 x: *const arb_struct,
395 y: mp_limb_signed_t,
396 prec: mp_limb_signed_t,
397 );
398 pub fn arb_submul_ui(
399 z: *mut arb_struct,
400 x: *const arb_struct,
401 y: mp_limb_t,
402 prec: mp_limb_signed_t,
403 );
404 pub fn arb_submul_fmpz(
405 z: *mut arb_struct,
406 x: *const arb_struct,
407 y: *const fmpz,
408 prec: mp_limb_signed_t,
409 );
410 pub fn arb_dot_simple(
411 res: *mut arb_struct,
412 initial: *const arb_struct,
413 subtract: c_int,
414 x: arb_srcptr,
415 xstep: mp_limb_signed_t,
416 y: arb_srcptr,
417 ystep: mp_limb_signed_t,
418 len: mp_limb_signed_t,
419 prec: mp_limb_signed_t,
420 );
421 pub fn arb_dot_precise(
422 res: *mut arb_struct,
423 initial: *const arb_struct,
424 subtract: c_int,
425 x: arb_srcptr,
426 xstep: mp_limb_signed_t,
427 y: arb_srcptr,
428 ystep: mp_limb_signed_t,
429 len: mp_limb_signed_t,
430 prec: mp_limb_signed_t,
431 );
432 pub fn arb_dot(
433 res: *mut arb_struct,
434 initial: *const arb_struct,
435 subtract: c_int,
436 x: arb_srcptr,
437 xstep: mp_limb_signed_t,
438 y: arb_srcptr,
439 ystep: mp_limb_signed_t,
440 len: mp_limb_signed_t,
441 prec: mp_limb_signed_t,
442 );
443 pub fn arb_approx_dot(
444 res: *mut arb_struct,
445 initial: *const arb_struct,
446 subtract: c_int,
447 x: arb_srcptr,
448 xstep: mp_limb_signed_t,
449 y: arb_srcptr,
450 ystep: mp_limb_signed_t,
451 len: mp_limb_signed_t,
452 prec: mp_limb_signed_t,
453 );
454 pub fn arb_dot_ui(
455 res: *mut arb_struct,
456 initial: *const arb_struct,
457 subtract: c_int,
458 x: arb_srcptr,
459 xstep: mp_limb_signed_t,
460 y: *const mp_limb_t,
461 ystep: mp_limb_signed_t,
462 len: mp_limb_signed_t,
463 prec: mp_limb_signed_t,
464 );
465 pub fn arb_dot_si(
466 res: *mut arb_struct,
467 initial: *const arb_struct,
468 subtract: c_int,
469 x: arb_srcptr,
470 xstep: mp_limb_signed_t,
471 y: *const mp_limb_signed_t,
472 ystep: mp_limb_signed_t,
473 len: mp_limb_signed_t,
474 prec: mp_limb_signed_t,
475 );
476 pub fn arb_dot_uiui(
477 res: *mut arb_struct,
478 initial: *const arb_struct,
479 subtract: c_int,
480 x: arb_srcptr,
481 xstep: mp_limb_signed_t,
482 y: *const mp_limb_t,
483 ystep: mp_limb_signed_t,
484 len: mp_limb_signed_t,
485 prec: mp_limb_signed_t,
486 );
487 pub fn arb_dot_siui(
488 res: *mut arb_struct,
489 initial: *const arb_struct,
490 subtract: c_int,
491 x: arb_srcptr,
492 xstep: mp_limb_signed_t,
493 y: *const mp_limb_t,
494 ystep: mp_limb_signed_t,
495 len: mp_limb_signed_t,
496 prec: mp_limb_signed_t,
497 );
498 pub fn arb_dot_fmpz(
499 res: *mut arb_struct,
500 initial: *const arb_struct,
501 subtract: c_int,
502 x: arb_srcptr,
503 xstep: mp_limb_signed_t,
504 y: *const fmpz,
505 ystep: mp_limb_signed_t,
506 len: mp_limb_signed_t,
507 prec: mp_limb_signed_t,
508 );
509 pub fn arb_div(
510 z: *mut arb_struct,
511 x: *const arb_struct,
512 y: *const arb_struct,
513 prec: mp_limb_signed_t,
514 );
515 pub fn arb_div_arf(
516 z: *mut arb_struct,
517 x: *const arb_struct,
518 y: *const arf_struct,
519 prec: mp_limb_signed_t,
520 );
521 pub fn arb_div_si(
522 z: *mut arb_struct,
523 x: *const arb_struct,
524 y: mp_limb_signed_t,
525 prec: mp_limb_signed_t,
526 );
527 pub fn arb_div_ui(
528 z: *mut arb_struct,
529 x: *const arb_struct,
530 y: mp_limb_t,
531 prec: mp_limb_signed_t,
532 );
533 pub fn arb_div_fmpz(
534 z: *mut arb_struct,
535 x: *const arb_struct,
536 y: *const fmpz,
537 prec: mp_limb_signed_t,
538 );
539 pub fn arb_fmpz_div_fmpz(
540 z: *mut arb_struct,
541 x: *const fmpz,
542 y: *const fmpz,
543 prec: mp_limb_signed_t,
544 );
545 pub fn arb_ui_div(
546 z: *mut arb_struct,
547 x: mp_limb_t,
548 y: *const arb_struct,
549 prec: mp_limb_signed_t,
550 );
551 pub fn arb_inv(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
552 pub fn arb_set_fmpq(y: *mut arb_struct, x: *const fmpq, prec: mp_limb_signed_t);
553 pub fn arb_sqrt(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
554 pub fn arb_sqrt_arf(z: *mut arb_struct, x: *const arf_struct, prec: mp_limb_signed_t);
555 pub fn arb_sqrt_fmpz(z: *mut arb_struct, x: *const fmpz, prec: mp_limb_signed_t);
556 pub fn arb_sqrt_ui(z: *mut arb_struct, x: mp_limb_t, prec: mp_limb_signed_t);
557 pub fn arb_sqrtpos(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
558 pub fn arb_hypot(
559 z: *mut arb_struct,
560 x: *const arb_struct,
561 y: *const arb_struct,
562 prec: mp_limb_signed_t,
563 );
564 pub fn arb_rsqrt(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
565 pub fn arb_rsqrt_ui(z: *mut arb_struct, x: mp_limb_t, prec: mp_limb_signed_t);
566 pub fn arb_sqrt1pm1(r: *mut arb_struct, z: *const arb_struct, prec: mp_limb_signed_t);
567 pub fn arb_pow_fmpz_binexp(
568 y: *mut arb_struct,
569 b: *const arb_struct,
570 e: *const fmpz,
571 prec: mp_limb_signed_t,
572 );
573 pub fn arb_pow_fmpz(
574 y: *mut arb_struct,
575 b: *const arb_struct,
576 e: *const fmpz,
577 prec: mp_limb_signed_t,
578 );
579 pub fn arb_pow_ui(
580 y: *mut arb_struct,
581 b: *const arb_struct,
582 e: mp_limb_t,
583 prec: mp_limb_signed_t,
584 );
585 pub fn arb_ui_pow_ui(y: *mut arb_struct, b: mp_limb_t, e: mp_limb_t, prec: mp_limb_signed_t);
586 pub fn arb_si_pow_ui(
587 y: *mut arb_struct,
588 b: mp_limb_signed_t,
589 e: mp_limb_t,
590 prec: mp_limb_signed_t,
591 );
592 pub fn arb_pow_fmpq(
593 y: *mut arb_struct,
594 x: *const arb_struct,
595 a: *const fmpq,
596 prec: mp_limb_signed_t,
597 );
598 pub fn arb_div_2expm1_ui(
599 z: *mut arb_struct,
600 x: *const arb_struct,
601 n: mp_limb_t,
602 prec: mp_limb_signed_t,
603 );
604 pub fn arb_pow(
605 z: *mut arb_struct,
606 x: *const arb_struct,
607 y: *const arb_struct,
608 prec: mp_limb_signed_t,
609 );
610 pub fn arb_root_ui(
611 z: *mut arb_struct,
612 x: *const arb_struct,
613 k: mp_limb_t,
614 prec: mp_limb_signed_t,
615 );
616 pub fn arb_root(z: *mut arb_struct, x: *const arb_struct, k: mp_limb_t, prec: mp_limb_signed_t);
617 pub fn arb_log(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
618 pub fn arb_log_arf(z: *mut arb_struct, x: *const arf_struct, prec: mp_limb_signed_t);
619 pub fn arb_log_ui(z: *mut arb_struct, x: mp_limb_t, prec: mp_limb_signed_t);
620 pub fn arb_log_fmpz(z: *mut arb_struct, x: *const fmpz, prec: mp_limb_signed_t);
621 pub fn arb_log1p(r: *mut arb_struct, z: *const arb_struct, prec: mp_limb_signed_t);
622 pub fn arb_log_base_ui(
623 res: *mut arb_struct,
624 x: *const arb_struct,
625 b: mp_limb_t,
626 prec: mp_limb_signed_t,
627 );
628 pub fn arb_log_hypot(
629 res: *mut arb_struct,
630 x: *const arb_struct,
631 y: *const arb_struct,
632 prec: mp_limb_signed_t,
633 );
634 pub fn arb_exp(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
635 pub fn arb_expm1(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
636 pub fn arb_exp_invexp(
637 z: *mut arb_struct,
638 w: *const arb_struct,
639 x: *const arb_struct,
640 prec: mp_limb_signed_t,
641 );
642 pub fn arb_sin(s: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
643 pub fn arb_cos(c: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
644 pub fn arb_sin_cos(
645 s: *mut arb_struct,
646 c: *mut arb_struct,
647 x: *const arb_struct,
648 prec: mp_limb_signed_t,
649 );
650 pub fn arb_sin_pi(s: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
651 pub fn arb_cos_pi(c: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
652 pub fn arb_sin_cos_pi(
653 s: *mut arb_struct,
654 c: *mut arb_struct,
655 x: *const arb_struct,
656 prec: mp_limb_signed_t,
657 );
658 pub fn arb_tan(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
659 pub fn arb_cot(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
660 pub fn arb_tan_pi(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
661 pub fn arb_cot_pi(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
662 pub fn _arb_sin_pi_fmpq_algebraic(
663 s: *mut arb_struct,
664 p: mp_limb_t,
665 q: mp_limb_t,
666 prec: mp_limb_signed_t,
667 );
668 pub fn _arb_cos_pi_fmpq_algebraic(
669 c: *mut arb_struct,
670 p: mp_limb_t,
671 q: mp_limb_t,
672 prec: mp_limb_signed_t,
673 );
674 pub fn _arb_sin_cos_pi_fmpq_algebraic(
675 s: *mut arb_struct,
676 c: *mut arb_struct,
677 p: mp_limb_t,
678 q: mp_limb_t,
679 prec: mp_limb_signed_t,
680 );
681 pub fn arb_sin_cos_pi_fmpq(
682 s: *mut arb_struct,
683 c: *mut arb_struct,
684 x: *const fmpq,
685 prec: mp_limb_signed_t,
686 );
687 pub fn arb_sin_pi_fmpq(s: *mut arb_struct, x: *const fmpq, prec: mp_limb_signed_t);
688 pub fn arb_cos_pi_fmpq(c: *mut arb_struct, x: *const fmpq, prec: mp_limb_signed_t);
689 pub fn arb_sinc(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
690 pub fn arb_sinc_pi(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
691 pub fn arb_sinh(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
692 pub fn arb_cosh(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
693 pub fn arb_sinh_cosh(
694 s: *mut arb_struct,
695 c: *mut arb_struct,
696 x: *const arb_struct,
697 prec: mp_limb_signed_t,
698 );
699 pub fn arb_tanh(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
700 pub fn arb_coth(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
701 pub fn arb_atan_arf(z: *mut arb_struct, x: *const arf_struct, prec: mp_limb_signed_t);
702 pub fn arb_atan(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
703 pub fn arb_atan2(
704 z: *mut arb_struct,
705 b: *const arb_struct,
706 a: *const arb_struct,
707 prec: mp_limb_signed_t,
708 );
709 pub fn arb_asin(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
710 pub fn arb_acos(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
711 pub fn arb_atanh(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
712 pub fn arb_asinh(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
713 pub fn arb_acosh(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
714 pub fn arb_sec(res: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
715 pub fn arb_csc(res: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
716 pub fn arb_csc_pi(res: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
717 pub fn arb_sech(res: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
718 pub fn arb_csch(res: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
719 pub fn arb_fac_ui(z: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
720 pub fn arb_doublefac_ui(z: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
721 pub fn arb_bin_ui(
722 z: *mut arb_struct,
723 n: *const arb_struct,
724 k: mp_limb_t,
725 prec: mp_limb_signed_t,
726 );
727 pub fn arb_bin_uiui(z: *mut arb_struct, n: mp_limb_t, k: mp_limb_t, prec: mp_limb_signed_t);
728 pub fn arb_fib_fmpz(z: *mut arb_struct, n: *const fmpz, prec: mp_limb_signed_t);
729 pub fn arb_fib_ui(z: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
730 pub fn arb_const_pi(z: *mut arb_struct, prec: mp_limb_signed_t);
731 pub fn arb_const_sqrt_pi(z: *mut arb_struct, prec: mp_limb_signed_t);
732 pub fn arb_const_log_sqrt2pi(z: *mut arb_struct, prec: mp_limb_signed_t);
733 pub fn arb_const_log2(z: *mut arb_struct, prec: mp_limb_signed_t);
734 pub fn arb_const_log10(z: *mut arb_struct, prec: mp_limb_signed_t);
735 pub fn arb_const_euler(z: *mut arb_struct, prec: mp_limb_signed_t);
736 pub fn arb_const_catalan(z: *mut arb_struct, prec: mp_limb_signed_t);
737 pub fn arb_const_e(z: *mut arb_struct, prec: mp_limb_signed_t);
738 pub fn arb_const_khinchin(z: *mut arb_struct, prec: mp_limb_signed_t);
739 pub fn arb_const_glaisher(z: *mut arb_struct, prec: mp_limb_signed_t);
740 pub fn arb_agm(
741 z: *mut arb_struct,
742 x: *const arb_struct,
743 y: *const arb_struct,
744 prec: mp_limb_signed_t,
745 );
746 pub fn arb_lgamma(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
747 pub fn arb_rgamma(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
748 pub fn arb_gamma(z: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
749 pub fn arb_gamma_fmpq(z: *mut arb_struct, x: *const fmpq, prec: mp_limb_signed_t);
750 pub fn arb_gamma_fmpz(z: *mut arb_struct, x: *const fmpz, prec: mp_limb_signed_t);
751 pub fn arb_digamma(y: *mut arb_struct, x: *const arb_struct, prec: mp_limb_signed_t);
752 pub fn arb_zeta(z: *mut arb_struct, s: *const arb_struct, prec: mp_limb_signed_t);
753 pub fn arb_hurwitz_zeta(
754 z: *mut arb_struct,
755 s: *const arb_struct,
756 a: *const arb_struct,
757 prec: mp_limb_signed_t,
758 );
759 pub fn arb_rising_ui_bs(
760 y: *mut arb_struct,
761 x: *const arb_struct,
762 n: mp_limb_t,
763 prec: mp_limb_signed_t,
764 );
765 pub fn arb_rising_ui_rs(
766 y: *mut arb_struct,
767 x: *const arb_struct,
768 n: mp_limb_t,
769 m: mp_limb_t,
770 prec: mp_limb_signed_t,
771 );
772 pub fn arb_rising_ui_rec(
773 y: *mut arb_struct,
774 x: *const arb_struct,
775 n: mp_limb_t,
776 prec: mp_limb_signed_t,
777 );
778 pub fn arb_rising_ui(
779 z: *mut arb_struct,
780 x: *const arb_struct,
781 n: mp_limb_t,
782 prec: mp_limb_signed_t,
783 );
784 pub fn arb_rising_fmpq_ui(
785 y: *mut arb_struct,
786 x: *const fmpq,
787 n: mp_limb_t,
788 prec: mp_limb_signed_t,
789 );
790 pub fn arb_rising(
791 z: *mut arb_struct,
792 x: *const arb_struct,
793 n: *const arb_struct,
794 prec: mp_limb_signed_t,
795 );
796 pub fn arb_rising2_ui_rs(
797 u: *mut arb_struct,
798 v: *mut arb_struct,
799 x: *const arb_struct,
800 n: mp_limb_t,
801 m: mp_limb_t,
802 prec: mp_limb_signed_t,
803 );
804 pub fn arb_rising2_ui_bs(
805 u: *mut arb_struct,
806 v: *mut arb_struct,
807 x: *const arb_struct,
808 n: mp_limb_t,
809 prec: mp_limb_signed_t,
810 );
811 pub fn arb_rising2_ui(
812 u: *mut arb_struct,
813 v: *mut arb_struct,
814 x: *const arb_struct,
815 n: mp_limb_t,
816 prec: mp_limb_signed_t,
817 );
818 pub fn arb_log_ui_from_prev(
819 s: *mut arb_struct,
820 k: mp_limb_t,
821 log_prev: *const arb_struct,
822 prev: mp_limb_t,
823 prec: mp_limb_signed_t,
824 );
825 pub fn arb_const_apery(s: *mut arb_struct, prec: mp_limb_signed_t);
826 pub fn arb_zeta_ui_asymp(x: *mut arb_struct, s: mp_limb_t, prec: mp_limb_signed_t);
827 pub fn arb_zeta_ui_borwein_bsplit(x: *mut arb_struct, s: mp_limb_t, prec: mp_limb_signed_t);
828 pub fn arb_zeta_ui_euler_product(z: *mut arb_struct, s: mp_limb_t, prec: mp_limb_signed_t);
829 pub fn arb_zeta_ui_bernoulli(x: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
830 pub fn arb_zeta_ui_vec_borwein(
831 z: arb_ptr,
832 start: mp_limb_t,
833 num: mp_limb_signed_t,
834 step: mp_limb_t,
835 prec: mp_limb_signed_t,
836 );
837 pub fn arb_zeta_ui(x: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
838 pub fn arb_zeta_ui_vec_even(
839 x: arb_ptr,
840 start: mp_limb_t,
841 num: mp_limb_signed_t,
842 prec: mp_limb_signed_t,
843 );
844 pub fn arb_zeta_ui_vec_odd(
845 x: arb_ptr,
846 start: mp_limb_t,
847 num: mp_limb_signed_t,
848 prec: mp_limb_signed_t,
849 );
850 pub fn arb_zeta_ui_vec(
851 x: arb_ptr,
852 start: mp_limb_t,
853 num: mp_limb_signed_t,
854 prec: mp_limb_signed_t,
855 );
856 pub fn arb_bernoulli_ui(b: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
857 pub fn arb_bernoulli_ui_zeta(b: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
858 pub fn arb_bernoulli_fmpz(b: *mut arb_struct, n: *const fmpz, prec: mp_limb_signed_t);
859 pub fn arb_bernoulli_poly_ui(
860 res: *mut arb_struct,
861 n: mp_limb_t,
862 x: *const arb_struct,
863 prec: mp_limb_signed_t,
864 );
865 pub fn arb_polylog(
866 w: *mut arb_struct,
867 s: *const arb_struct,
868 z: *const arb_struct,
869 prec: mp_limb_signed_t,
870 );
871 pub fn arb_polylog_si(
872 w: *mut arb_struct,
873 s: mp_limb_signed_t,
874 z: *const arb_struct,
875 prec: mp_limb_signed_t,
876 );
877 pub fn arb_chebyshev_t_ui(
878 a: *mut arb_struct,
879 n: mp_limb_t,
880 x: *const arb_struct,
881 prec: mp_limb_signed_t,
882 );
883 pub fn arb_chebyshev_t2_ui(
884 a: *mut arb_struct,
885 b: *mut arb_struct,
886 n: mp_limb_t,
887 x: *const arb_struct,
888 prec: mp_limb_signed_t,
889 );
890 pub fn arb_chebyshev_u_ui(
891 a: *mut arb_struct,
892 n: mp_limb_t,
893 x: *const arb_struct,
894 prec: mp_limb_signed_t,
895 );
896 pub fn arb_chebyshev_u2_ui(
897 a: *mut arb_struct,
898 b: *mut arb_struct,
899 n: mp_limb_t,
900 x: *const arb_struct,
901 prec: mp_limb_signed_t,
902 );
903 pub fn arb_power_sum_vec(
904 res: arb_ptr,
905 a: *const arb_struct,
906 b: *const arb_struct,
907 len: mp_limb_signed_t,
908 prec: mp_limb_signed_t,
909 );
910 pub fn arb_bell_sum_taylor(
911 res: *mut arb_struct,
912 n: *const fmpz,
913 a: *const fmpz,
914 b: *const fmpz,
915 mmag: *const fmpz,
916 prec: mp_limb_signed_t,
917 );
918 pub fn arb_bell_sum_bsplit(
919 res: *mut arb_struct,
920 n: *const fmpz,
921 a: *const fmpz,
922 b: *const fmpz,
923 mmag: *const fmpz,
924 prec: mp_limb_signed_t,
925 );
926 pub fn arb_bell_fmpz(res: *mut arb_struct, n: *const fmpz, prec: mp_limb_signed_t);
927 pub fn arb_bell_ui(res: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
928 pub fn arb_euler_number_fmpz(res: *mut arb_struct, n: *const fmpz, prec: mp_limb_signed_t);
929 pub fn arb_euler_number_ui(res: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
930 pub fn arb_partitions_fmpz(res: *mut arb_struct, n: *const fmpz, prec: mp_limb_signed_t);
931 pub fn arb_partitions_ui(res: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
932 pub fn arb_lambertw(
933 res: *mut arb_struct,
934 x: *const arb_struct,
935 flags: c_int,
936 prec: mp_limb_signed_t,
937 );
938 pub fn arb_sqr(res: *mut arb_struct, val: *const arb_struct, prec: mp_limb_signed_t);
939 pub fn _arb_vec_entry_ptr(vec: arb_ptr, i: mp_limb_signed_t) -> arb_ptr;
940 pub fn _arb_vec_printn(
941 vec: arb_srcptr,
942 len: mp_limb_signed_t,
943 ndigits: mp_limb_signed_t,
944 flags: mp_limb_t,
945 );
946 pub fn _arb_vec_zero(A: arb_ptr, n: mp_limb_signed_t);
947 pub fn _arb_vec_is_zero(vec: arb_srcptr, len: mp_limb_signed_t) -> c_int;
948 pub fn _arb_vec_is_finite(x: arb_srcptr, len: mp_limb_signed_t) -> c_int;
949 pub fn _arb_vec_set(res: arb_ptr, vec: arb_srcptr, len: mp_limb_signed_t);
950 pub fn _arb_vec_set_round(
951 res: arb_ptr,
952 vec: arb_srcptr,
953 len: mp_limb_signed_t,
954 prec: mp_limb_signed_t,
955 );
956 pub fn _arb_vec_swap(res: arb_ptr, vec: arb_ptr, len: mp_limb_signed_t);
957 pub fn _arb_vec_neg(B: arb_ptr, A: arb_srcptr, n: mp_limb_signed_t);
958 pub fn _arb_vec_sub(
959 C: arb_ptr,
960 A: arb_srcptr,
961 B: arb_srcptr,
962 n: mp_limb_signed_t,
963 prec: mp_limb_signed_t,
964 );
965 pub fn _arb_vec_add(
966 C: arb_ptr,
967 A: arb_srcptr,
968 B: arb_srcptr,
969 n: mp_limb_signed_t,
970 prec: mp_limb_signed_t,
971 );
972 pub fn _arb_vec_scalar_mul(
973 res: arb_ptr,
974 vec: arb_srcptr,
975 len: mp_limb_signed_t,
976 c: *const arb_struct,
977 prec: mp_limb_signed_t,
978 );
979 pub fn _arb_vec_scalar_div(
980 res: arb_ptr,
981 vec: arb_srcptr,
982 len: mp_limb_signed_t,
983 c: *const arb_struct,
984 prec: mp_limb_signed_t,
985 );
986 pub fn _arb_vec_scalar_mul_fmpz(
987 res: arb_ptr,
988 vec: arb_srcptr,
989 len: mp_limb_signed_t,
990 c: *const fmpz,
991 prec: mp_limb_signed_t,
992 );
993 pub fn _arb_vec_scalar_mul_2exp_si(
994 res: arb_ptr,
995 src: arb_srcptr,
996 len: mp_limb_signed_t,
997 c: mp_limb_signed_t,
998 );
999 pub fn _arb_vec_scalar_addmul(
1000 res: arb_ptr,
1001 vec: arb_srcptr,
1002 len: mp_limb_signed_t,
1003 c: *const arb_struct,
1004 prec: mp_limb_signed_t,
1005 );
1006 pub fn _arb_vec_get_mag(bound: *mut mag_struct, vec: arb_srcptr, len: mp_limb_signed_t);
1007 pub fn _arb_vec_bits(x: arb_srcptr, len: mp_limb_signed_t) -> mp_limb_signed_t;
1008 pub fn _arb_vec_set_powers(
1009 xs: arb_ptr,
1010 x: *const arb_struct,
1011 len: mp_limb_signed_t,
1012 prec: mp_limb_signed_t,
1013 );
1014 pub fn _arb_vec_add_error_arf_vec(res: arb_ptr, err: arf_srcptr, len: mp_limb_signed_t);
1015 pub fn _arb_vec_add_error_mag_vec(res: arb_ptr, err: mag_srcptr, len: mp_limb_signed_t);
1016 pub fn _arb_vec_indeterminate(vec: arb_ptr, len: mp_limb_signed_t);
1017 pub fn _arb_vec_trim(res: arb_ptr, vec: arb_srcptr, len: mp_limb_signed_t);
1018 pub fn _arb_vec_get_unique_fmpz_vec(
1019 res: *mut fmpz,
1020 vec: arb_srcptr,
1021 len: mp_limb_signed_t,
1022 ) -> c_int;
1023 pub static mut arb_atan_tab1: [[mp_limb_t; 8usize]; 256usize];
1024 pub static mut arb_atan_tab21: [[mp_limb_t; 72usize]; 32usize];
1025 pub static mut arb_atan_tab22: [[mp_limb_t; 72usize]; 32usize];
1026 pub static arb_atan_pi2_minus_one: [mp_limb_t; 72usize];
1027 pub fn _arb_atan_taylor_naive(
1028 y: mp_ptr,
1029 error: *mut mp_limb_t,
1030 x: mp_srcptr,
1031 xn: mp_size_t,
1032 N: mp_limb_t,
1033 alternating: c_int,
1034 );
1035 pub fn _arb_atan_taylor_rs(
1036 y: mp_ptr,
1037 error: *mut mp_limb_t,
1038 x: mp_srcptr,
1039 xn: mp_size_t,
1040 N: mp_limb_t,
1041 alternating: c_int,
1042 );
1043 pub static mut arb_log_tab11: [[mp_limb_t; 8usize]; 128usize];
1044 pub static mut arb_log_tab12: [[mp_limb_t; 8usize]; 128usize];
1045 pub static mut arb_log_tab21: [[mp_limb_t; 72usize]; 32usize];
1046 pub static mut arb_log_tab22: [[mp_limb_t; 72usize]; 32usize];
1047 pub static arb_log_log2_tab: [mp_limb_t; 72usize];
1048 pub static mut arb_exp_tab1: [[mp_limb_t; 8usize]; 178usize];
1049 pub static mut arb_exp_tab21: [[mp_limb_t; 72usize]; 23usize];
1050 pub static mut arb_exp_tab22: [[mp_limb_t; 72usize]; 32usize];
1051 pub fn _arb_exp_taylor_naive(
1052 y: mp_ptr,
1053 error: *mut mp_limb_t,
1054 x: mp_srcptr,
1055 xn: mp_size_t,
1056 N: mp_limb_t,
1057 );
1058 pub fn _arb_exp_taylor_rs(
1059 y: mp_ptr,
1060 error: *mut mp_limb_t,
1061 x: mp_srcptr,
1062 xn: mp_size_t,
1063 N: mp_limb_t,
1064 );
1065 pub fn arb_exp_arf_bb(
1066 z: *mut arb_struct,
1067 x: *const arf_struct,
1068 prec: mp_limb_signed_t,
1069 minus_one: c_int,
1070 );
1071 pub fn arb_exp_arf_rs_generic(
1072 res: *mut arb_struct,
1073 x: *const arf_struct,
1074 prec: mp_limb_signed_t,
1075 minus_one: c_int,
1076 );
1077 pub fn _arb_get_mpn_fixed_mod_log2(
1078 w: mp_ptr,
1079 q: *mut fmpz,
1080 error: *mut mp_limb_t,
1081 x: *const arf_struct,
1082 wn: mp_size_t,
1083 ) -> c_int;
1084 pub fn _arb_exp_taylor_bound(mag: mp_limb_signed_t, prec: mp_limb_signed_t)
1085 -> mp_limb_signed_t;
1086 pub fn _arb_exp_sum_bs_powtab(
1087 T: *mut fmpz,
1088 Q: *mut fmpz,
1089 Qexp: *mut mp_limb_t,
1090 x: *const fmpz,
1091 r: mp_limb_t,
1092 N: mp_limb_signed_t,
1093 );
1094 pub fn _arb_exp_sum_bs_simple(
1095 T: *mut fmpz,
1096 Q: *mut fmpz,
1097 Qexp: *mut mp_limb_t,
1098 x: *const fmpz,
1099 r: mp_limb_t,
1100 N: mp_limb_signed_t,
1101 );
1102 pub static mut arb_sin_cos_tab1: [[mp_limb_t; 8usize]; 406usize];
1103 pub static mut arb_sin_cos_tab21: [[mp_limb_t; 72usize]; 52usize];
1104 pub static mut arb_sin_cos_tab22: [[mp_limb_t; 72usize]; 64usize];
1105 pub static arb_pi4_tab: [mp_limb_t; 72usize];
1106 pub fn _arb_sin_cos_taylor_naive(
1107 ysin: mp_ptr,
1108 ycos: mp_ptr,
1109 error: *mut mp_limb_t,
1110 x: mp_srcptr,
1111 xn: mp_size_t,
1112 N: mp_limb_t,
1113 );
1114 pub fn _arb_sin_cos_taylor_rs(
1115 ysin: mp_ptr,
1116 ycos: mp_ptr,
1117 error: *mut mp_limb_t,
1118 x: mp_srcptr,
1119 xn: mp_size_t,
1120 N: mp_limb_t,
1121 sinonly: c_int,
1122 alternating: c_int,
1123 );
1124 pub fn _arb_get_mpn_fixed_mod_pi4(
1125 w: mp_ptr,
1126 q: *mut fmpz,
1127 octant: *mut c_int,
1128 error: *mut mp_limb_t,
1129 x: *const arf_struct,
1130 wn: mp_size_t,
1131 ) -> c_int;
1132 pub fn arb_sin_cos_arf_bb(
1133 zsin: *mut arb_struct,
1134 zcos: *mut arb_struct,
1135 x: *const arf_struct,
1136 prec: mp_limb_signed_t,
1137 );
1138 pub fn arb_sin_cos_arf_rs_generic(
1139 res_sin: *mut arb_struct,
1140 res_cos: *mut arb_struct,
1141 x: *const arf_struct,
1142 prec: mp_limb_signed_t,
1143 );
1144 pub fn arb_sin_cos_arf_generic(
1145 res_sin: *mut arb_struct,
1146 res_cos: *mut arb_struct,
1147 x: *const arf_struct,
1148 prec: mp_limb_signed_t,
1149 );
1150 pub fn _arb_sin_cos_wide(
1151 s: *mut arb_struct,
1152 c: *mut arb_struct,
1153 x: *const arf_struct,
1154 r: *const mag_struct,
1155 prec: mp_limb_signed_t,
1156 );
1157 pub fn arb_sin_cos_wide(
1158 s: *mut arb_struct,
1159 c: *mut arb_struct,
1160 x: *const arb_struct,
1161 prec: mp_limb_signed_t,
1162 );
1163 pub fn _arb_sin_cos_generic(
1164 s: *mut arb_struct,
1165 c: *mut arb_struct,
1166 x: *const arf_struct,
1167 xrad: *const mag_struct,
1168 prec: mp_limb_signed_t,
1169 );
1170 pub fn arb_sin_cos_generic(
1171 s: *mut arb_struct,
1172 c: *mut arb_struct,
1173 x: *const arb_struct,
1174 prec: mp_limb_signed_t,
1175 );
1176 pub fn _arb_mpn_leading_zeros(d: mp_srcptr, n: mp_size_t) -> mp_limb_t;
1177 pub fn _arb_atan_sum_bs_simple(
1178 T: *mut fmpz,
1179 Q: *mut fmpz,
1180 Qexp: *mut mp_limb_t,
1181 x: *const fmpz,
1182 r: mp_limb_t,
1183 N: mp_limb_signed_t,
1184 );
1185 pub fn _arb_atan_sum_bs_powtab(
1186 T: *mut fmpz,
1187 Q: *mut fmpz,
1188 Qexp: *mut mp_limb_t,
1189 x: *const fmpz,
1190 r: mp_limb_t,
1191 N: mp_limb_signed_t,
1192 );
1193 pub fn arb_atan_arf_bb(z: *mut arb_struct, x: *const arf_struct, prec: mp_limb_signed_t);
1194 pub fn arb_allocated_bytes(x: *const arb_struct) -> mp_limb_signed_t;
1195 pub fn _arb_vec_allocated_bytes(vec: arb_srcptr, len: mp_limb_signed_t) -> mp_limb_signed_t;
1196 pub fn _arb_vec_estimate_allocated_bytes(len: mp_limb_signed_t, prec: mp_limb_signed_t) -> f64;
1197 pub fn arb_load_str(res: *mut arb_struct, data: *const c_char) -> c_int;
1198 pub fn arb_dump_str(x: *const arb_struct) -> *mut c_char;
1199 pub fn arb_load_file(res: *mut arb_struct, stream: *const FILE) -> c_int;
1200 pub fn arb_dump_file(stream: *mut FILE, x: *const arb_struct) -> c_int;
1201}