1use libc::*;
4use crate::deps::*;
5use crate::acb_types::*;
6use crate::arb_types::*;
7use crate::arf_types::*;
8use crate::flint::*;
9use crate::fmpq_types::*;
10use crate::fmpz_types::*;
11
12
13extern "C" {
14 pub fn arb_poly_init(poly: *mut arb_poly_struct);
15 pub fn arb_poly_init2(poly: *mut arb_poly_struct, len: slong);
16 pub fn arb_poly_clear(poly: *mut arb_poly_struct);
17 pub fn arb_poly_fit_length(poly: *mut arb_poly_struct, len: slong);
18 pub fn _arb_poly_set_length(poly: *mut arb_poly_struct, len: slong);
19 pub fn _arb_poly_normalise(poly: *mut arb_poly_struct);
20 #[link_name = "arb_poly_swap__extern"]
21 pub fn arb_poly_swap(poly1: *mut arb_poly_struct, poly2: *mut arb_poly_struct);
22 pub fn arb_poly_set(poly: *mut arb_poly_struct, src: *const arb_poly_struct);
23 pub fn arb_poly_set_round(poly: *mut arb_poly_struct, src: *const arb_poly_struct, prec: slong);
24 pub fn arb_poly_set_trunc(res: *mut arb_poly_struct, poly: *const arb_poly_struct, n: slong);
25 pub fn arb_poly_set_trunc_round(
26 res: *mut arb_poly_struct,
27 poly: *const arb_poly_struct,
28 n: slong,
29 prec: slong,
30 );
31 #[link_name = "arb_poly_length__extern"]
32 pub fn arb_poly_length(poly: *const arb_poly_struct) -> slong;
33 #[link_name = "arb_poly_degree__extern"]
34 pub fn arb_poly_degree(poly: *const arb_poly_struct) -> slong;
35 pub fn arb_poly_valuation(poly: *const arb_poly_struct) -> slong;
36 #[link_name = "arb_poly_is_zero__extern"]
37 pub fn arb_poly_is_zero(z: *const arb_poly_struct) -> libc::c_int;
38 #[link_name = "arb_poly_is_one__extern"]
39 pub fn arb_poly_is_one(z: *const arb_poly_struct) -> libc::c_int;
40 #[link_name = "arb_poly_is_x__extern"]
41 pub fn arb_poly_is_x(z: *const arb_poly_struct) -> libc::c_int;
42 #[link_name = "arb_poly_zero__extern"]
43 pub fn arb_poly_zero(poly: *mut arb_poly_struct);
44 #[link_name = "arb_poly_one__extern"]
45 pub fn arb_poly_one(poly: *mut arb_poly_struct);
46 pub fn arb_poly_set_coeff_si(poly: *mut arb_poly_struct, n: slong, x: slong);
47 pub fn arb_poly_set_coeff_arb(poly: *mut arb_poly_struct, n: slong, x: *const arb_struct);
48 pub fn arb_poly_get_coeff_arb(x: *mut arb_struct, poly: *const arb_poly_struct, n: slong);
49 pub fn _arb_poly_reverse(res: arb_ptr, poly: arb_srcptr, len: slong, n: slong);
50 pub fn _arb_poly_shift_right(res: arb_ptr, poly: arb_srcptr, len: slong, n: slong);
51 pub fn arb_poly_shift_right(res: *mut arb_poly_struct, poly: *const arb_poly_struct, n: slong);
52 pub fn _arb_poly_shift_left(res: arb_ptr, poly: arb_srcptr, len: slong, n: slong);
53 pub fn arb_poly_shift_left(res: *mut arb_poly_struct, poly: *const arb_poly_struct, n: slong);
54 #[link_name = "arb_poly_truncate__extern"]
55 pub fn arb_poly_truncate(poly: *mut arb_poly_struct, newlen: slong);
56 pub fn arb_poly_set_fmpz_poly(
57 poly: *mut arb_poly_struct,
58 src: *const fmpz_poly_struct,
59 prec: slong,
60 );
61 pub fn arb_poly_set_fmpq_poly(
62 poly: *mut arb_poly_struct,
63 src: *const fmpq_poly_struct,
64 prec: slong,
65 );
66 #[link_name = "arb_poly_set_arb__extern"]
67 pub fn arb_poly_set_arb(poly: *mut arb_poly_struct, c: *const arb_struct);
68 pub fn arb_poly_set_si(poly: *mut arb_poly_struct, c: slong);
69 pub fn arb_poly_get_unique_fmpz_poly(
70 res: *mut fmpz_poly_struct,
71 src: *const arb_poly_struct,
72 ) -> libc::c_int;
73 pub fn arb_poly_contains(
74 poly1: *const arb_poly_struct,
75 poly2: *const arb_poly_struct,
76 ) -> libc::c_int;
77 pub fn arb_poly_contains_fmpz_poly(
78 poly1: *const arb_poly_struct,
79 poly2: *const fmpz_poly_struct,
80 ) -> libc::c_int;
81 pub fn arb_poly_contains_fmpq_poly(
82 poly1: *const arb_poly_struct,
83 poly2: *const fmpq_poly_struct,
84 ) -> libc::c_int;
85 pub fn arb_poly_equal(A: *const arb_poly_struct, B: *const arb_poly_struct) -> libc::c_int;
86 pub fn _arb_poly_overlaps(
87 poly1: arb_srcptr,
88 len1: slong,
89 poly2: arb_srcptr,
90 len2: slong,
91 ) -> libc::c_int;
92 pub fn arb_poly_overlaps(
93 poly1: *const arb_poly_struct,
94 poly2: *const arb_poly_struct,
95 ) -> libc::c_int;
96 pub fn _arb_poly_majorant(res: arb_ptr, vec: arb_srcptr, len: slong, prec: slong);
97 pub fn arb_poly_majorant(res: *mut arb_poly_struct, poly: *const arb_poly_struct, prec: slong);
98 pub fn arb_poly_fprintd(file: *mut FILE, poly: *const arb_poly_struct, digits: slong);
99 pub fn arb_poly_printd(poly: *const arb_poly_struct, digits: slong);
100 pub fn arb_poly_randtest(
101 poly: *mut arb_poly_struct,
102 state: *mut flint_rand_struct,
103 len: slong,
104 prec: slong,
105 mag_bits: slong,
106 );
107 pub fn _arb_poly_add(
108 res: arb_ptr,
109 poly1: arb_srcptr,
110 len1: slong,
111 poly2: arb_srcptr,
112 len2: slong,
113 prec: slong,
114 );
115 pub fn arb_poly_add(
116 res: *mut arb_poly_struct,
117 poly1: *const arb_poly_struct,
118 poly2: *const arb_poly_struct,
119 prec: slong,
120 );
121 pub fn arb_poly_add_si(
122 res: *mut arb_poly_struct,
123 poly: *const arb_poly_struct,
124 c: slong,
125 prec: slong,
126 );
127 pub fn _arb_poly_sub(
128 res: arb_ptr,
129 poly1: arb_srcptr,
130 len1: slong,
131 poly2: arb_srcptr,
132 len2: slong,
133 prec: slong,
134 );
135 pub fn arb_poly_sub(
136 res: *mut arb_poly_struct,
137 poly1: *const arb_poly_struct,
138 poly2: *const arb_poly_struct,
139 prec: slong,
140 );
141 pub fn arb_poly_add_series(
142 res: *mut arb_poly_struct,
143 poly1: *const arb_poly_struct,
144 poly2: *const arb_poly_struct,
145 len: slong,
146 prec: slong,
147 );
148 pub fn arb_poly_sub_series(
149 res: *mut arb_poly_struct,
150 poly1: *const arb_poly_struct,
151 poly2: *const arb_poly_struct,
152 len: slong,
153 prec: slong,
154 );
155 #[link_name = "arb_poly_neg__extern"]
156 pub fn arb_poly_neg(res: *mut arb_poly_struct, poly: *const arb_poly_struct);
157 #[link_name = "arb_poly_scalar_mul_2exp_si__extern"]
158 pub fn arb_poly_scalar_mul_2exp_si(
159 res: *mut arb_poly_struct,
160 poly: *const arb_poly_struct,
161 c: slong,
162 );
163 #[link_name = "arb_poly_scalar_mul__extern"]
164 pub fn arb_poly_scalar_mul(
165 res: *mut arb_poly_struct,
166 poly: *const arb_poly_struct,
167 c: *const arb_struct,
168 prec: slong,
169 );
170 #[link_name = "arb_poly_scalar_div__extern"]
171 pub fn arb_poly_scalar_div(
172 res: *mut arb_poly_struct,
173 poly: *const arb_poly_struct,
174 c: *const arb_struct,
175 prec: slong,
176 );
177 pub fn _arb_poly_mullow_classical(
178 res: arb_ptr,
179 poly1: arb_srcptr,
180 len1: slong,
181 poly2: arb_srcptr,
182 len2: slong,
183 n: slong,
184 prec: slong,
185 );
186 pub fn arb_poly_mullow_classical(
187 res: *mut arb_poly_struct,
188 poly1: *const arb_poly_struct,
189 poly2: *const arb_poly_struct,
190 n: slong,
191 prec: slong,
192 );
193 pub fn _arb_poly_mullow_block(
194 C: arb_ptr,
195 A: arb_srcptr,
196 lenA: slong,
197 B: arb_srcptr,
198 lenB: slong,
199 n: slong,
200 prec: slong,
201 );
202 pub fn arb_poly_mullow_block(
203 res: *mut arb_poly_struct,
204 poly1: *const arb_poly_struct,
205 poly2: *const arb_poly_struct,
206 len: slong,
207 prec: slong,
208 );
209 pub fn _arb_poly_mullow(
210 C: arb_ptr,
211 A: arb_srcptr,
212 lenA: slong,
213 B: arb_srcptr,
214 lenB: slong,
215 n: slong,
216 prec: slong,
217 );
218 pub fn arb_poly_mullow(
219 res: *mut arb_poly_struct,
220 poly1: *const arb_poly_struct,
221 poly2: *const arb_poly_struct,
222 len: slong,
223 prec: slong,
224 );
225 pub fn _arb_poly_mulmid_block(
226 z: arb_ptr,
227 x: arb_srcptr,
228 xlen: slong,
229 y: arb_srcptr,
230 ylen: slong,
231 nlo: slong,
232 nhi: slong,
233 prec: slong,
234 );
235 pub fn arb_poly_mulmid_block(
236 res: *mut arb_poly_struct,
237 poly1: *const arb_poly_struct,
238 poly2: *const arb_poly_struct,
239 nlo: slong,
240 nhi: slong,
241 prec: slong,
242 );
243 pub fn _arb_poly_mulmid_classical(
244 z: arb_ptr,
245 x: arb_srcptr,
246 xlen: slong,
247 y: arb_srcptr,
248 ylen: slong,
249 nlo: slong,
250 nhi: slong,
251 prec: slong,
252 );
253 pub fn arb_poly_mulmid_classical(
254 res: *mut arb_poly_struct,
255 poly1: *const arb_poly_struct,
256 poly2: *const arb_poly_struct,
257 nlo: slong,
258 nhi: slong,
259 prec: slong,
260 );
261 pub fn _arb_poly_mulmid(
262 z: arb_ptr,
263 x: arb_srcptr,
264 xlen: slong,
265 y: arb_srcptr,
266 ylen: slong,
267 nlo: slong,
268 nhi: slong,
269 prec: slong,
270 );
271 pub fn arb_poly_mulmid(
272 res: *mut arb_poly_struct,
273 poly1: *const arb_poly_struct,
274 poly2: *const arb_poly_struct,
275 nlo: slong,
276 nhi: slong,
277 prec: slong,
278 );
279 pub fn _arb_poly_mul(
280 C: arb_ptr,
281 A: arb_srcptr,
282 lenA: slong,
283 B: arb_srcptr,
284 lenB: slong,
285 prec: slong,
286 );
287 pub fn arb_poly_mul(
288 res: *mut arb_poly_struct,
289 poly1: *const arb_poly_struct,
290 poly2: *const arb_poly_struct,
291 prec: slong,
292 );
293 #[link_name = "_arb_poly_mul_monic__extern"]
294 pub fn _arb_poly_mul_monic(
295 res: arb_ptr,
296 poly1: arb_srcptr,
297 len1: slong,
298 poly2: arb_srcptr,
299 len2: slong,
300 prec: slong,
301 );
302 pub fn _arb_poly_inv_series(Qinv: arb_ptr, Q: arb_srcptr, Qlen: slong, len: slong, prec: slong);
303 pub fn arb_poly_inv_series(
304 Qinv: *mut arb_poly_struct,
305 Q: *const arb_poly_struct,
306 n: slong,
307 prec: slong,
308 );
309 pub fn _arb_poly_div_series(
310 Q: arb_ptr,
311 A: arb_srcptr,
312 Alen: slong,
313 B: arb_srcptr,
314 Blen: slong,
315 n: slong,
316 prec: slong,
317 );
318 pub fn arb_poly_div_series(
319 Q: *mut arb_poly_struct,
320 A: *const arb_poly_struct,
321 B: *const arb_poly_struct,
322 n: slong,
323 prec: slong,
324 );
325 pub fn _arb_poly_div(
326 Q: arb_ptr,
327 A: arb_srcptr,
328 lenA: slong,
329 B: arb_srcptr,
330 lenB: slong,
331 prec: slong,
332 );
333 pub fn _arb_poly_divrem(
334 Q: arb_ptr,
335 R: arb_ptr,
336 A: arb_srcptr,
337 lenA: slong,
338 B: arb_srcptr,
339 lenB: slong,
340 prec: slong,
341 );
342 pub fn _arb_poly_rem(
343 R: arb_ptr,
344 A: arb_srcptr,
345 lenA: slong,
346 B: arb_srcptr,
347 lenB: slong,
348 prec: slong,
349 );
350 pub fn arb_poly_divrem(
351 Q: *mut arb_poly_struct,
352 R: *mut arb_poly_struct,
353 A: *const arb_poly_struct,
354 B: *const arb_poly_struct,
355 prec: slong,
356 ) -> libc::c_int;
357 pub fn _arb_poly_div_root(
358 Q: arb_ptr,
359 R: *mut arb_struct,
360 A: arb_srcptr,
361 len: slong,
362 c: *const arb_struct,
363 prec: slong,
364 );
365 pub fn _arb_poly_product_roots(poly: arb_ptr, xs: arb_srcptr, n: slong, prec: slong);
366 pub fn arb_poly_product_roots(
367 poly: *mut arb_poly_struct,
368 xs: arb_srcptr,
369 n: slong,
370 prec: slong,
371 );
372 pub fn _arb_poly_product_roots_complex(
373 poly: arb_ptr,
374 r: arb_srcptr,
375 rn: slong,
376 c: acb_srcptr,
377 cn: slong,
378 prec: slong,
379 );
380 pub fn arb_poly_product_roots_complex(
381 poly: *mut arb_poly_struct,
382 r: arb_srcptr,
383 rn: slong,
384 c: acb_srcptr,
385 cn: slong,
386 prec: slong,
387 );
388 pub fn _arb_poly_tree_alloc(len: slong) -> *mut arb_ptr;
389 pub fn _arb_poly_tree_free(tree: *mut arb_ptr, len: slong);
390 pub fn _arb_poly_tree_build(tree: *mut arb_ptr, roots: arb_srcptr, len: slong, prec: slong);
391 pub fn _arb_poly_taylor_shift(poly: arb_ptr, c: *const arb_struct, n: slong, prec: slong);
392 pub fn arb_poly_taylor_shift(
393 g: *mut arb_poly_struct,
394 f: *const arb_poly_struct,
395 c: *const arb_struct,
396 prec: slong,
397 );
398 pub fn _arb_poly_compose(
399 res: arb_ptr,
400 poly1: arb_srcptr,
401 len1: slong,
402 poly2: arb_srcptr,
403 len2: slong,
404 prec: slong,
405 );
406 pub fn arb_poly_compose(
407 res: *mut arb_poly_struct,
408 poly1: *const arb_poly_struct,
409 poly2: *const arb_poly_struct,
410 prec: slong,
411 );
412 pub fn _arb_poly_compose_series(
413 res: arb_ptr,
414 poly1: arb_srcptr,
415 len1: slong,
416 poly2: arb_srcptr,
417 len2: slong,
418 n: slong,
419 prec: slong,
420 );
421 pub fn arb_poly_compose_series(
422 res: *mut arb_poly_struct,
423 poly1: *const arb_poly_struct,
424 poly2: *const arb_poly_struct,
425 n: slong,
426 prec: slong,
427 );
428 pub fn _arb_poly_revert_series(
429 Qinv: arb_ptr,
430 Q: arb_srcptr,
431 Qlen: slong,
432 n: slong,
433 prec: slong,
434 );
435 pub fn arb_poly_revert_series(
436 Qinv: *mut arb_poly_struct,
437 Q: *const arb_poly_struct,
438 n: slong,
439 prec: slong,
440 );
441 pub fn _arb_poly_evaluate_horner(
442 res: *mut arb_struct,
443 f: arb_srcptr,
444 len: slong,
445 a: *const arb_struct,
446 prec: slong,
447 );
448 pub fn arb_poly_evaluate_horner(
449 res: *mut arb_struct,
450 f: *const arb_poly_struct,
451 a: *const arb_struct,
452 prec: slong,
453 );
454 pub fn _arb_poly_evaluate_rectangular(
455 y: *mut arb_struct,
456 poly: arb_srcptr,
457 len: slong,
458 x: *const arb_struct,
459 prec: slong,
460 );
461 pub fn arb_poly_evaluate_rectangular(
462 res: *mut arb_struct,
463 f: *const arb_poly_struct,
464 a: *const arb_struct,
465 prec: slong,
466 );
467 pub fn _arb_poly_evaluate(
468 res: *mut arb_struct,
469 f: arb_srcptr,
470 len: slong,
471 a: *const arb_struct,
472 prec: slong,
473 );
474 pub fn arb_poly_evaluate(
475 res: *mut arb_struct,
476 f: *const arb_poly_struct,
477 a: *const arb_struct,
478 prec: slong,
479 );
480 pub fn _arb_poly_evaluate2_horner(
481 y: *mut arb_struct,
482 z: *mut arb_struct,
483 f: arb_srcptr,
484 len: slong,
485 x: *const arb_struct,
486 prec: slong,
487 );
488 pub fn arb_poly_evaluate2_horner(
489 y: *mut arb_struct,
490 z: *mut arb_struct,
491 f: *const arb_poly_struct,
492 x: *const arb_struct,
493 prec: slong,
494 );
495 pub fn _arb_poly_evaluate2_rectangular(
496 y: *mut arb_struct,
497 z: *mut arb_struct,
498 f: arb_srcptr,
499 len: slong,
500 x: *const arb_struct,
501 prec: slong,
502 );
503 pub fn arb_poly_evaluate2_rectangular(
504 y: *mut arb_struct,
505 z: *mut arb_struct,
506 f: *const arb_poly_struct,
507 x: *const arb_struct,
508 prec: slong,
509 );
510 pub fn _arb_poly_evaluate2(
511 y: *mut arb_struct,
512 z: *mut arb_struct,
513 f: arb_srcptr,
514 len: slong,
515 x: *const arb_struct,
516 prec: slong,
517 );
518 pub fn arb_poly_evaluate2(
519 y: *mut arb_struct,
520 z: *mut arb_struct,
521 f: *const arb_poly_struct,
522 x: *const arb_struct,
523 prec: slong,
524 );
525 pub fn _arb_poly_evaluate_vec_iter(
526 ys: arb_ptr,
527 poly: arb_srcptr,
528 plen: slong,
529 xs: arb_srcptr,
530 n: slong,
531 prec: slong,
532 );
533 pub fn arb_poly_evaluate_vec_iter(
534 ys: arb_ptr,
535 poly: *const arb_poly_struct,
536 xs: arb_srcptr,
537 n: slong,
538 prec: slong,
539 );
540 pub fn _arb_poly_evaluate_vec_fast_precomp(
541 vs: arb_ptr,
542 poly: arb_srcptr,
543 plen: slong,
544 tree: *mut arb_ptr,
545 len: slong,
546 prec: slong,
547 );
548 pub fn _arb_poly_evaluate_vec_fast(
549 ys: arb_ptr,
550 poly: arb_srcptr,
551 plen: slong,
552 xs: arb_srcptr,
553 n: slong,
554 prec: slong,
555 );
556 pub fn arb_poly_evaluate_vec_fast(
557 ys: arb_ptr,
558 poly: *const arb_poly_struct,
559 xs: arb_srcptr,
560 n: slong,
561 prec: slong,
562 );
563 pub fn _arb_poly_interpolate_newton(
564 poly: arb_ptr,
565 xs: arb_srcptr,
566 ys: arb_srcptr,
567 n: slong,
568 prec: slong,
569 );
570 pub fn arb_poly_interpolate_newton(
571 poly: *mut arb_poly_struct,
572 xs: arb_srcptr,
573 ys: arb_srcptr,
574 n: slong,
575 prec: slong,
576 );
577 pub fn _arb_poly_interpolate_barycentric(
578 poly: arb_ptr,
579 xs: arb_srcptr,
580 ys: arb_srcptr,
581 n: slong,
582 prec: slong,
583 );
584 pub fn arb_poly_interpolate_barycentric(
585 poly: *mut arb_poly_struct,
586 xs: arb_srcptr,
587 ys: arb_srcptr,
588 n: slong,
589 prec: slong,
590 );
591 pub fn _arb_poly_interpolation_weights(w: arb_ptr, tree: *mut arb_ptr, len: slong, prec: slong);
592 pub fn _arb_poly_interpolate_fast_precomp(
593 poly: arb_ptr,
594 ys: arb_srcptr,
595 tree: *mut arb_ptr,
596 weights: arb_srcptr,
597 len: slong,
598 prec: slong,
599 );
600 pub fn _arb_poly_interpolate_fast(
601 poly: arb_ptr,
602 xs: arb_srcptr,
603 ys: arb_srcptr,
604 len: slong,
605 prec: slong,
606 );
607 pub fn arb_poly_interpolate_fast(
608 poly: *mut arb_poly_struct,
609 xs: arb_srcptr,
610 ys: arb_srcptr,
611 n: slong,
612 prec: slong,
613 );
614 pub fn _arb_poly_derivative(res: arb_ptr, poly: arb_srcptr, len: slong, prec: slong);
615 pub fn arb_poly_derivative(
616 res: *mut arb_poly_struct,
617 poly: *const arb_poly_struct,
618 prec: slong,
619 );
620 pub fn _arb_poly_nth_derivative(
621 res: arb_ptr,
622 poly: arb_srcptr,
623 n: ulong,
624 len: slong,
625 prec: slong,
626 );
627 pub fn arb_poly_nth_derivative(
628 res: *mut arb_poly_struct,
629 poly: *const arb_poly_struct,
630 n: ulong,
631 prec: slong,
632 );
633 pub fn _arb_poly_integral(res: arb_ptr, poly: arb_srcptr, len: slong, prec: slong);
634 pub fn arb_poly_integral(res: *mut arb_poly_struct, poly: *const arb_poly_struct, prec: slong);
635 pub fn arb_poly_borel_transform(
636 res: *mut arb_poly_struct,
637 poly: *const arb_poly_struct,
638 prec: slong,
639 );
640 pub fn _arb_poly_borel_transform(res: arb_ptr, poly: arb_srcptr, len: slong, prec: slong);
641 pub fn arb_poly_inv_borel_transform(
642 res: *mut arb_poly_struct,
643 poly: *const arb_poly_struct,
644 prec: slong,
645 );
646 pub fn _arb_poly_inv_borel_transform(res: arb_ptr, poly: arb_srcptr, len: slong, prec: slong);
647 pub fn _arb_poly_binomial_transform_basecase(
648 b: arb_ptr,
649 a: arb_srcptr,
650 alen: slong,
651 len: slong,
652 prec: slong,
653 );
654 pub fn arb_poly_binomial_transform_basecase(
655 b: *mut arb_poly_struct,
656 a: *const arb_poly_struct,
657 len: slong,
658 prec: slong,
659 );
660 pub fn _arb_poly_binomial_transform_convolution(
661 b: arb_ptr,
662 a: arb_srcptr,
663 alen: slong,
664 len: slong,
665 prec: slong,
666 );
667 pub fn arb_poly_binomial_transform_convolution(
668 b: *mut arb_poly_struct,
669 a: *const arb_poly_struct,
670 len: slong,
671 prec: slong,
672 );
673 pub fn _arb_poly_binomial_transform(
674 b: arb_ptr,
675 a: arb_srcptr,
676 alen: slong,
677 len: slong,
678 prec: slong,
679 );
680 pub fn arb_poly_binomial_transform(
681 b: *mut arb_poly_struct,
682 a: *const arb_poly_struct,
683 len: slong,
684 prec: slong,
685 );
686 pub fn _arb_poly_graeffe_transform(b: arb_ptr, a: arb_srcptr, len: slong, prec: slong);
687 pub fn arb_poly_graeffe_transform(
688 b: *mut arb_poly_struct,
689 a: *const arb_poly_struct,
690 prec: slong,
691 );
692 pub fn _arb_poly_pow_ui_trunc_binexp(
693 res: arb_ptr,
694 f: arb_srcptr,
695 flen: slong,
696 exp: ulong,
697 len: slong,
698 prec: slong,
699 );
700 pub fn arb_poly_pow_ui_trunc_binexp(
701 res: *mut arb_poly_struct,
702 poly: *const arb_poly_struct,
703 exp: ulong,
704 len: slong,
705 prec: slong,
706 );
707 pub fn _arb_poly_pow_ui(res: arb_ptr, f: arb_srcptr, flen: slong, exp: ulong, prec: slong);
708 pub fn arb_poly_pow_ui(
709 res: *mut arb_poly_struct,
710 poly: *const arb_poly_struct,
711 exp: ulong,
712 prec: slong,
713 );
714 pub fn _arb_poly_pow_series(
715 h: arb_ptr,
716 f: arb_srcptr,
717 flen: slong,
718 g: arb_srcptr,
719 glen: slong,
720 len: slong,
721 prec: slong,
722 );
723 pub fn arb_poly_pow_series(
724 h: *mut arb_poly_struct,
725 f: *const arb_poly_struct,
726 g: *const arb_poly_struct,
727 len: slong,
728 prec: slong,
729 );
730 pub fn _arb_poly_pow_arb_series(
731 h: arb_ptr,
732 f: arb_srcptr,
733 flen: slong,
734 g: *const arb_struct,
735 len: slong,
736 prec: slong,
737 );
738 pub fn arb_poly_pow_arb_series(
739 h: *mut arb_poly_struct,
740 f: *const arb_poly_struct,
741 g: *const arb_struct,
742 len: slong,
743 prec: slong,
744 );
745 pub fn _arb_poly_binomial_pow_arb_series(
746 h: arb_ptr,
747 f: arb_srcptr,
748 flen: slong,
749 g: *const arb_struct,
750 len: slong,
751 prec: slong,
752 );
753 pub fn _arb_poly_rsqrt_series(g: arb_ptr, h: arb_srcptr, hlen: slong, len: slong, prec: slong);
754 pub fn arb_poly_rsqrt_series(
755 g: *mut arb_poly_struct,
756 h: *const arb_poly_struct,
757 n: slong,
758 prec: slong,
759 );
760 pub fn _arb_poly_sqrt_series(g: arb_ptr, h: arb_srcptr, hlen: slong, len: slong, prec: slong);
761 pub fn arb_poly_sqrt_series(
762 g: *mut arb_poly_struct,
763 h: *const arb_poly_struct,
764 n: slong,
765 prec: slong,
766 );
767 pub fn _arb_poly_log_series(res: arb_ptr, f: arb_srcptr, flen: slong, n: slong, prec: slong);
768 pub fn arb_poly_log_series(
769 res: *mut arb_poly_struct,
770 f: *const arb_poly_struct,
771 n: slong,
772 prec: slong,
773 );
774 pub fn _arb_poly_log1p_series(res: arb_ptr, f: arb_srcptr, flen: slong, n: slong, prec: slong);
775 pub fn arb_poly_log1p_series(
776 res: *mut arb_poly_struct,
777 f: *const arb_poly_struct,
778 n: slong,
779 prec: slong,
780 );
781 pub fn _arb_poly_atan_series(res: arb_ptr, f: arb_srcptr, flen: slong, n: slong, prec: slong);
782 pub fn arb_poly_atan_series(
783 res: *mut arb_poly_struct,
784 f: *const arb_poly_struct,
785 n: slong,
786 prec: slong,
787 );
788 pub fn _arb_poly_asin_series(res: arb_ptr, f: arb_srcptr, flen: slong, n: slong, prec: slong);
789 pub fn arb_poly_asin_series(
790 res: *mut arb_poly_struct,
791 f: *const arb_poly_struct,
792 n: slong,
793 prec: slong,
794 );
795 pub fn _arb_poly_acos_series(res: arb_ptr, f: arb_srcptr, flen: slong, n: slong, prec: slong);
796 pub fn arb_poly_acos_series(
797 res: *mut arb_poly_struct,
798 f: *const arb_poly_struct,
799 n: slong,
800 prec: slong,
801 );
802 pub fn _arb_poly_exp_series_basecase(
803 f: arb_ptr,
804 h: arb_srcptr,
805 hlen: slong,
806 n: slong,
807 prec: slong,
808 );
809 pub fn arb_poly_exp_series_basecase(
810 f: *mut arb_poly_struct,
811 h: *const arb_poly_struct,
812 n: slong,
813 prec: slong,
814 );
815 pub fn _arb_poly_exp_series(f: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
816 pub fn arb_poly_exp_series(
817 f: *mut arb_poly_struct,
818 h: *const arb_poly_struct,
819 n: slong,
820 prec: slong,
821 );
822 pub fn _arb_poly_sinh_cosh_series_basecase(
823 s: arb_ptr,
824 c: arb_ptr,
825 h: arb_srcptr,
826 hlen: slong,
827 n: slong,
828 prec: slong,
829 );
830 pub fn arb_poly_sinh_cosh_series_basecase(
831 s: *mut arb_poly_struct,
832 c: *mut arb_poly_struct,
833 h: *const arb_poly_struct,
834 n: slong,
835 prec: slong,
836 );
837 pub fn _arb_poly_sinh_cosh_series_exponential(
838 s: arb_ptr,
839 c: arb_ptr,
840 h: arb_srcptr,
841 hlen: slong,
842 n: slong,
843 prec: slong,
844 );
845 pub fn arb_poly_sinh_cosh_series_exponential(
846 s: *mut arb_poly_struct,
847 c: *mut arb_poly_struct,
848 h: *const arb_poly_struct,
849 n: slong,
850 prec: slong,
851 );
852 pub fn _arb_poly_sinh_cosh_series(
853 s: arb_ptr,
854 c: arb_ptr,
855 h: arb_srcptr,
856 hlen: slong,
857 n: slong,
858 prec: slong,
859 );
860 pub fn arb_poly_sinh_cosh_series(
861 s: *mut arb_poly_struct,
862 c: *mut arb_poly_struct,
863 h: *const arb_poly_struct,
864 n: slong,
865 prec: slong,
866 );
867 pub fn _arb_poly_sinh_series(s: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
868 pub fn arb_poly_sinh_series(
869 s: *mut arb_poly_struct,
870 h: *const arb_poly_struct,
871 n: slong,
872 prec: slong,
873 );
874 pub fn _arb_poly_cosh_series(c: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
875 pub fn arb_poly_cosh_series(
876 c: *mut arb_poly_struct,
877 h: *const arb_poly_struct,
878 n: slong,
879 prec: slong,
880 );
881 pub fn _arb_poly_sin_cos_series(
882 s: arb_ptr,
883 c: arb_ptr,
884 h: arb_srcptr,
885 hlen: slong,
886 len: slong,
887 prec: slong,
888 );
889 pub fn arb_poly_sin_cos_series(
890 s: *mut arb_poly_struct,
891 c: *mut arb_poly_struct,
892 h: *const arb_poly_struct,
893 n: slong,
894 prec: slong,
895 );
896 pub fn _arb_poly_sin_cos_pi_series(
897 s: arb_ptr,
898 c: arb_ptr,
899 h: arb_srcptr,
900 hlen: slong,
901 len: slong,
902 prec: slong,
903 );
904 pub fn arb_poly_sin_cos_pi_series(
905 s: *mut arb_poly_struct,
906 c: *mut arb_poly_struct,
907 h: *const arb_poly_struct,
908 n: slong,
909 prec: slong,
910 );
911 pub fn _arb_poly_sin_series(g: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
912 pub fn arb_poly_sin_series(
913 g: *mut arb_poly_struct,
914 h: *const arb_poly_struct,
915 n: slong,
916 prec: slong,
917 );
918 pub fn _arb_poly_cos_series(g: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
919 pub fn arb_poly_cos_series(
920 g: *mut arb_poly_struct,
921 h: *const arb_poly_struct,
922 n: slong,
923 prec: slong,
924 );
925 pub fn _arb_poly_sin_pi_series(g: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
926 pub fn arb_poly_sin_pi_series(
927 g: *mut arb_poly_struct,
928 h: *const arb_poly_struct,
929 n: slong,
930 prec: slong,
931 );
932 pub fn _arb_poly_cos_pi_series(g: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
933 pub fn arb_poly_cos_pi_series(
934 g: *mut arb_poly_struct,
935 h: *const arb_poly_struct,
936 n: slong,
937 prec: slong,
938 );
939 pub fn _arb_poly_cot_pi_series(g: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
940 pub fn arb_poly_cot_pi_series(
941 g: *mut arb_poly_struct,
942 h: *const arb_poly_struct,
943 n: slong,
944 prec: slong,
945 );
946 pub fn _arb_poly_tan_series(g: arb_ptr, h: arb_srcptr, hlen: slong, len: slong, prec: slong);
947 pub fn arb_poly_tan_series(
948 g: *mut arb_poly_struct,
949 h: *const arb_poly_struct,
950 n: slong,
951 prec: slong,
952 );
953 pub fn _arb_poly_sinc_series(g: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
954 pub fn arb_poly_sinc_series(
955 g: *mut arb_poly_struct,
956 h: *const arb_poly_struct,
957 n: slong,
958 prec: slong,
959 );
960 pub fn _arb_poly_sinc_pi_series(g: arb_ptr, h: arb_srcptr, hlen: slong, n: slong, prec: slong);
961 pub fn arb_poly_sinc_pi_series(
962 g: *mut arb_poly_struct,
963 h: *const arb_poly_struct,
964 n: slong,
965 prec: slong,
966 );
967 pub fn _arb_poly_evaluate_acb_horner(
968 res: *mut acb_struct,
969 f: arb_srcptr,
970 len: slong,
971 x: *const acb_struct,
972 prec: slong,
973 );
974 pub fn arb_poly_evaluate_acb_horner(
975 res: *mut acb_struct,
976 f: *const arb_poly_struct,
977 a: *const acb_struct,
978 prec: slong,
979 );
980 pub fn _arb_poly_evaluate_acb_rectangular(
981 y: *mut acb_struct,
982 poly: arb_srcptr,
983 len: slong,
984 x: *const acb_struct,
985 prec: slong,
986 );
987 pub fn arb_poly_evaluate_acb_rectangular(
988 res: *mut acb_struct,
989 f: *const arb_poly_struct,
990 a: *const acb_struct,
991 prec: slong,
992 );
993 pub fn _arb_poly_evaluate_acb(
994 res: *mut acb_struct,
995 f: arb_srcptr,
996 len: slong,
997 x: *const acb_struct,
998 prec: slong,
999 );
1000 pub fn arb_poly_evaluate_acb(
1001 res: *mut acb_struct,
1002 f: *const arb_poly_struct,
1003 a: *const acb_struct,
1004 prec: slong,
1005 );
1006 pub fn _arb_poly_evaluate2_acb_horner(
1007 y: *mut acb_struct,
1008 z: *mut acb_struct,
1009 f: arb_srcptr,
1010 len: slong,
1011 x: *const acb_struct,
1012 prec: slong,
1013 );
1014 pub fn arb_poly_evaluate2_acb_horner(
1015 y: *mut acb_struct,
1016 z: *mut acb_struct,
1017 f: *const arb_poly_struct,
1018 x: *const acb_struct,
1019 prec: slong,
1020 );
1021 pub fn _arb_poly_evaluate2_acb_rectangular(
1022 y: *mut acb_struct,
1023 z: *mut acb_struct,
1024 f: arb_srcptr,
1025 len: slong,
1026 x: *const acb_struct,
1027 prec: slong,
1028 );
1029 pub fn arb_poly_evaluate2_acb_rectangular(
1030 y: *mut acb_struct,
1031 z: *mut acb_struct,
1032 f: *const arb_poly_struct,
1033 x: *const acb_struct,
1034 prec: slong,
1035 );
1036 pub fn _arb_poly_evaluate2_acb(
1037 y: *mut acb_struct,
1038 z: *mut acb_struct,
1039 f: arb_srcptr,
1040 len: slong,
1041 x: *const acb_struct,
1042 prec: slong,
1043 );
1044 pub fn arb_poly_evaluate2_acb(
1045 y: *mut acb_struct,
1046 z: *mut acb_struct,
1047 f: *const arb_poly_struct,
1048 x: *const acb_struct,
1049 prec: slong,
1050 );
1051 pub fn _arb_poly_lambertw_series(
1052 res: arb_ptr,
1053 z: arb_srcptr,
1054 zlen: slong,
1055 flags: libc::c_int,
1056 len: slong,
1057 prec: slong,
1058 );
1059 pub fn arb_poly_lambertw_series(
1060 res: *mut arb_poly_struct,
1061 z: *const arb_poly_struct,
1062 flags: libc::c_int,
1063 len: slong,
1064 prec: slong,
1065 );
1066 pub fn _arb_poly_gamma_series(
1067 res: arb_ptr,
1068 h: arb_srcptr,
1069 hlen: slong,
1070 len: slong,
1071 prec: slong,
1072 );
1073 pub fn arb_poly_gamma_series(
1074 res: *mut arb_poly_struct,
1075 f: *const arb_poly_struct,
1076 n: slong,
1077 prec: slong,
1078 );
1079 pub fn _arb_poly_rgamma_series(
1080 res: arb_ptr,
1081 h: arb_srcptr,
1082 hlen: slong,
1083 len: slong,
1084 prec: slong,
1085 );
1086 pub fn arb_poly_rgamma_series(
1087 res: *mut arb_poly_struct,
1088 f: *const arb_poly_struct,
1089 n: slong,
1090 prec: slong,
1091 );
1092 pub fn _arb_poly_lgamma_series(
1093 res: arb_ptr,
1094 h: arb_srcptr,
1095 hlen: slong,
1096 len: slong,
1097 prec: slong,
1098 );
1099 pub fn arb_poly_lgamma_series(
1100 res: *mut arb_poly_struct,
1101 f: *const arb_poly_struct,
1102 n: slong,
1103 prec: slong,
1104 );
1105 pub fn _arb_poly_digamma_series(
1106 res: arb_ptr,
1107 h: arb_srcptr,
1108 hlen: slong,
1109 len: slong,
1110 prec: slong,
1111 );
1112 pub fn arb_poly_digamma_series(
1113 res: *mut arb_poly_struct,
1114 f: *const arb_poly_struct,
1115 n: slong,
1116 prec: slong,
1117 );
1118 pub fn _arb_poly_rising_ui_series(
1119 res: arb_ptr,
1120 f: arb_srcptr,
1121 flen: slong,
1122 r: ulong,
1123 trunc: slong,
1124 prec: slong,
1125 );
1126 pub fn arb_poly_rising_ui_series(
1127 res: *mut arb_poly_struct,
1128 f: *const arb_poly_struct,
1129 r: ulong,
1130 trunc: slong,
1131 prec: slong,
1132 );
1133 pub fn _arb_poly_zeta_series(
1134 res: arb_ptr,
1135 h: arb_srcptr,
1136 hlen: slong,
1137 a: *const arb_struct,
1138 deflate: libc::c_int,
1139 len: slong,
1140 prec: slong,
1141 );
1142 pub fn arb_poly_zeta_series(
1143 res: *mut arb_poly_struct,
1144 f: *const arb_poly_struct,
1145 a: *const arb_struct,
1146 deflate: libc::c_int,
1147 n: slong,
1148 prec: slong,
1149 );
1150 pub fn _arb_poly_riemann_siegel_theta_series(
1151 res: arb_ptr,
1152 h: arb_srcptr,
1153 hlen: slong,
1154 len: slong,
1155 prec: slong,
1156 );
1157 pub fn arb_poly_riemann_siegel_theta_series(
1158 res: *mut arb_poly_struct,
1159 h: *const arb_poly_struct,
1160 n: slong,
1161 prec: slong,
1162 );
1163 pub fn _arb_poly_riemann_siegel_z_series(
1164 res: arb_ptr,
1165 h: arb_srcptr,
1166 hlen: slong,
1167 len: slong,
1168 prec: slong,
1169 );
1170 pub fn arb_poly_riemann_siegel_z_series(
1171 res: *mut arb_poly_struct,
1172 h: *const arb_poly_struct,
1173 n: slong,
1174 prec: slong,
1175 );
1176 pub fn _arb_poly_swinnerton_dyer_ui_prec(n: ulong) -> slong;
1177 pub fn _arb_poly_swinnerton_dyer_ui(T: arb_ptr, n: ulong, trunc: slong, prec: slong);
1178 pub fn arb_poly_swinnerton_dyer_ui(poly: *mut arb_poly_struct, n: ulong, prec: slong);
1179 pub fn _arb_poly_newton_convergence_factor(
1180 convergence_factor: *mut arf_struct,
1181 poly: arb_srcptr,
1182 len: slong,
1183 convergence_interval: *const arb_struct,
1184 prec: slong,
1185 );
1186 pub fn _arb_poly_newton_step(
1187 xnew: *mut arb_struct,
1188 poly: arb_srcptr,
1189 len: slong,
1190 x: *const arb_struct,
1191 convergence_interval: *const arb_struct,
1192 convergence_factor: *const arf_struct,
1193 prec: slong,
1194 ) -> libc::c_int;
1195 pub fn _arb_poly_newton_refine_root(
1196 r: *mut arb_struct,
1197 poly: arb_srcptr,
1198 len: slong,
1199 start: *const arb_struct,
1200 convergence_interval: *const arb_struct,
1201 convergence_factor: *const arf_struct,
1202 eval_extra_prec: slong,
1203 prec: slong,
1204 );
1205 pub fn _arb_poly_root_bound_fujiwara(bound: *mut mag_struct, poly: arb_srcptr, len: slong);
1206 pub fn arb_poly_root_bound_fujiwara(bound: *mut mag_struct, poly: *mut arb_poly_struct);
1207 #[link_name = "arb_poly_allocated_bytes__extern"]
1208 pub fn arb_poly_allocated_bytes(x: *const arb_poly_struct) -> slong;
1209 #[link_name = "n_zerobits__extern"]
1210 pub fn n_zerobits(e: ulong) -> libc::c_int;
1211 #[link_name = "poly_pow_length__extern"]
1212 pub fn poly_pow_length(poly_len: slong, exp: ulong, trunc: slong) -> slong;
1213}