arb_sys/
acb_poly.rs

1#![allow(non_camel_case_types)]
2
3//! *See the [Arb documentation](https://arblib.org/).
4
5use crate::acb::{acb_ptr, acb_srcptr, acb_struct};
6use crate::arb::arb_ptr;
7use crate::arb_poly::arb_poly_struct;
8use crate::mag::mag_struct;
9use flint_sys::deps::*;
10use flint_sys::flint::*;
11use flint_sys::fmpq_poly::fmpq_poly_struct;
12use flint_sys::fmpz::fmpz;
13use flint_sys::fmpz_poly::fmpz_poly_struct;
14use libc::{c_int, FILE};
15
16#[repr(C)]
17#[derive(Debug, Copy, Clone)]
18pub struct acb_poly_struct {
19    pub coeffs: acb_ptr,
20    pub length: mp_limb_signed_t,
21    pub alloc: mp_limb_signed_t,
22}
23
24pub type acb_poly_t = [acb_poly_struct; 1usize];
25
26extern "C" {
27    pub fn acb_poly_init(poly: *mut acb_poly_struct);
28    pub fn acb_poly_init2(poly: *mut acb_poly_struct, len: mp_limb_signed_t);
29    pub fn acb_poly_clear(poly: *mut acb_poly_struct);
30    pub fn acb_poly_fit_length(poly: *mut acb_poly_struct, len: mp_limb_signed_t);
31    pub fn _acb_poly_set_length(poly: *mut acb_poly_struct, len: mp_limb_signed_t);
32    pub fn _acb_poly_normalise(poly: *mut acb_poly_struct);
33    pub fn acb_poly_valuation(poly: *mut acb_poly_struct) -> mp_limb_signed_t;
34    pub fn acb_poly_set_coeff_si(
35        poly: *mut acb_poly_struct,
36        n: mp_limb_signed_t,
37        x: mp_limb_signed_t,
38    );
39    pub fn acb_poly_set_coeff_acb(
40        poly: *mut acb_poly_struct,
41        n: mp_limb_signed_t,
42        x: *mut acb_struct,
43    );
44    pub fn acb_poly_get_coeff_acb(
45        x: *mut acb_struct,
46        poly: *mut acb_poly_struct,
47        n: mp_limb_signed_t,
48    );
49    pub fn _acb_poly_shift_right(
50        res: acb_ptr,
51        poly: acb_srcptr,
52        len: mp_limb_signed_t,
53        n: mp_limb_signed_t,
54    );
55    pub fn acb_poly_shift_right(
56        res: *mut acb_poly_struct,
57        poly: *mut acb_poly_struct,
58        n: mp_limb_signed_t,
59    );
60    pub fn _acb_poly_shift_left(
61        res: acb_ptr,
62        poly: acb_srcptr,
63        len: mp_limb_signed_t,
64        n: mp_limb_signed_t,
65    );
66    pub fn acb_poly_shift_left(
67        res: *mut acb_poly_struct,
68        poly: *mut acb_poly_struct,
69        n: mp_limb_signed_t,
70    );
71    pub fn _acb_poly_majorant(
72        res: arb_ptr,
73        vec: acb_srcptr,
74        len: mp_limb_signed_t,
75        prec: mp_limb_signed_t,
76    );
77    pub fn acb_poly_majorant(
78        res: *mut arb_poly_struct,
79        poly: *mut acb_poly_struct,
80        prec: mp_limb_signed_t,
81    );
82    pub fn acb_poly_fprintd(file: *mut FILE, poly: *mut acb_poly_struct, digits: mp_limb_signed_t);
83    pub fn _acb_poly_evaluate_horner(
84        res: *mut acb_struct,
85        f: acb_srcptr,
86        len: mp_limb_signed_t,
87        a: *mut acb_struct,
88        prec: mp_limb_signed_t,
89    );
90    pub fn acb_poly_evaluate_horner(
91        res: *mut acb_struct,
92        f: *mut acb_poly_struct,
93        a: *mut acb_struct,
94        prec: mp_limb_signed_t,
95    );
96    pub fn _acb_poly_evaluate_rectangular(
97        y: *mut acb_struct,
98        poly: acb_srcptr,
99        len: mp_limb_signed_t,
100        x: *mut acb_struct,
101        prec: mp_limb_signed_t,
102    );
103    pub fn acb_poly_evaluate_rectangular(
104        res: *mut acb_struct,
105        f: *mut acb_poly_struct,
106        a: *mut acb_struct,
107        prec: mp_limb_signed_t,
108    );
109    pub fn _acb_poly_evaluate(
110        res: *mut acb_struct,
111        f: acb_srcptr,
112        len: mp_limb_signed_t,
113        a: *mut acb_struct,
114        prec: mp_limb_signed_t,
115    );
116    pub fn acb_poly_evaluate(
117        res: *mut acb_struct,
118        f: *mut acb_poly_struct,
119        a: *mut acb_struct,
120        prec: mp_limb_signed_t,
121    );
122    pub fn _acb_poly_evaluate2_horner(
123        y: *mut acb_struct,
124        z: *mut acb_struct,
125        f: acb_srcptr,
126        len: mp_limb_signed_t,
127        x: *mut acb_struct,
128        prec: mp_limb_signed_t,
129    );
130    pub fn acb_poly_evaluate2_horner(
131        y: *mut acb_struct,
132        z: *mut acb_struct,
133        f: *mut acb_poly_struct,
134        x: *mut acb_struct,
135        prec: mp_limb_signed_t,
136    );
137    pub fn _acb_poly_evaluate2_rectangular(
138        y: *mut acb_struct,
139        z: *mut acb_struct,
140        f: acb_srcptr,
141        len: mp_limb_signed_t,
142        x: *mut acb_struct,
143        prec: mp_limb_signed_t,
144    );
145    pub fn acb_poly_evaluate2_rectangular(
146        y: *mut acb_struct,
147        z: *mut acb_struct,
148        f: *mut acb_poly_struct,
149        x: *mut acb_struct,
150        prec: mp_limb_signed_t,
151    );
152    pub fn _acb_poly_evaluate2(
153        y: *mut acb_struct,
154        z: *mut acb_struct,
155        f: acb_srcptr,
156        len: mp_limb_signed_t,
157        x: *mut acb_struct,
158        prec: mp_limb_signed_t,
159    );
160    pub fn acb_poly_evaluate2(
161        y: *mut acb_struct,
162        z: *mut acb_struct,
163        f: *mut acb_poly_struct,
164        x: *mut acb_struct,
165        prec: mp_limb_signed_t,
166    );
167    pub fn _acb_poly_derivative(
168        res: acb_ptr,
169        poly: acb_srcptr,
170        len: mp_limb_signed_t,
171        prec: mp_limb_signed_t,
172    );
173    pub fn acb_poly_derivative(
174        res: *mut acb_poly_struct,
175        poly: *mut acb_poly_struct,
176        prec: mp_limb_signed_t,
177    );
178    pub fn _acb_poly_integral(
179        res: acb_ptr,
180        poly: acb_srcptr,
181        len: mp_limb_signed_t,
182        prec: mp_limb_signed_t,
183    );
184    pub fn acb_poly_integral(
185        res: *mut acb_poly_struct,
186        poly: *mut acb_poly_struct,
187        prec: mp_limb_signed_t,
188    );
189    pub fn acb_poly_borel_transform(
190        res: *mut acb_poly_struct,
191        poly: *mut acb_poly_struct,
192        prec: mp_limb_signed_t,
193    );
194    pub fn _acb_poly_borel_transform(
195        res: acb_ptr,
196        poly: acb_srcptr,
197        len: mp_limb_signed_t,
198        prec: mp_limb_signed_t,
199    );
200    pub fn acb_poly_inv_borel_transform(
201        res: *mut acb_poly_struct,
202        poly: *mut acb_poly_struct,
203        prec: mp_limb_signed_t,
204    );
205    pub fn _acb_poly_inv_borel_transform(
206        res: acb_ptr,
207        poly: acb_srcptr,
208        len: mp_limb_signed_t,
209        prec: mp_limb_signed_t,
210    );
211    pub fn _acb_poly_binomial_transform_basecase(
212        b: acb_ptr,
213        a: acb_srcptr,
214        alen: mp_limb_signed_t,
215        len: mp_limb_signed_t,
216        prec: mp_limb_signed_t,
217    );
218    pub fn acb_poly_binomial_transform_basecase(
219        b: *mut acb_poly_struct,
220        a: *mut acb_poly_struct,
221        len: mp_limb_signed_t,
222        prec: mp_limb_signed_t,
223    );
224    pub fn _acb_poly_binomial_transform_convolution(
225        b: acb_ptr,
226        a: acb_srcptr,
227        alen: mp_limb_signed_t,
228        len: mp_limb_signed_t,
229        prec: mp_limb_signed_t,
230    );
231    pub fn acb_poly_binomial_transform_convolution(
232        b: *mut acb_poly_struct,
233        a: *mut acb_poly_struct,
234        len: mp_limb_signed_t,
235        prec: mp_limb_signed_t,
236    );
237    pub fn _acb_poly_binomial_transform(
238        b: acb_ptr,
239        a: acb_srcptr,
240        alen: mp_limb_signed_t,
241        len: mp_limb_signed_t,
242        prec: mp_limb_signed_t,
243    );
244    pub fn acb_poly_binomial_transform(
245        b: *mut acb_poly_struct,
246        a: *mut acb_poly_struct,
247        len: mp_limb_signed_t,
248        prec: mp_limb_signed_t,
249    );
250    pub fn acb_poly_set(dest: *mut acb_poly_struct, src: *mut acb_poly_struct);
251    pub fn acb_poly_set_round(
252        dest: *mut acb_poly_struct,
253        src: *mut acb_poly_struct,
254        prec: mp_limb_signed_t,
255    );
256    pub fn acb_poly_set_trunc(
257        res: *mut acb_poly_struct,
258        poly: *mut acb_poly_struct,
259        n: mp_limb_signed_t,
260    );
261    pub fn acb_poly_set_trunc_round(
262        res: *mut acb_poly_struct,
263        poly: *mut acb_poly_struct,
264        n: mp_limb_signed_t,
265        prec: mp_limb_signed_t,
266    );
267    pub fn acb_poly_set_arb_poly(poly: *mut acb_poly_struct, re: *mut arb_poly_struct);
268    pub fn acb_poly_set2_arb_poly(
269        poly: *mut acb_poly_struct,
270        re: *mut arb_poly_struct,
271        im: *mut arb_poly_struct,
272    );
273    pub fn acb_poly_set_fmpq_poly(
274        poly: *mut acb_poly_struct,
275        re: *mut fmpq_poly_struct,
276        prec: mp_limb_signed_t,
277    );
278    pub fn acb_poly_set2_fmpq_poly(
279        poly: *mut acb_poly_struct,
280        re: *mut fmpq_poly_struct,
281        im: *mut fmpq_poly_struct,
282        prec: mp_limb_signed_t,
283    );
284    pub fn acb_poly_set_fmpz_poly(
285        poly: *mut acb_poly_struct,
286        src: *mut fmpz_poly_struct,
287        prec: mp_limb_signed_t,
288    );
289    pub fn acb_poly_set2_fmpz_poly(
290        poly: *mut acb_poly_struct,
291        re: *mut fmpz_poly_struct,
292        im: *mut fmpz_poly_struct,
293        prec: mp_limb_signed_t,
294    );
295    pub fn acb_poly_get_unique_fmpz_poly(
296        res: *mut fmpz_poly_struct,
297        src: *mut acb_poly_struct,
298    ) -> c_int;
299    pub fn acb_poly_set_si(poly: *mut acb_poly_struct, c: mp_limb_signed_t);
300    pub fn acb_poly_randtest(
301        poly: *mut acb_poly_struct,
302        state: *mut flint_rand_s,
303        len: mp_limb_signed_t,
304        prec: mp_limb_signed_t,
305        mag_bits: mp_limb_signed_t,
306    );
307    pub fn acb_poly_equal(A: *mut acb_poly_struct, B: *mut acb_poly_struct) -> c_int;
308    pub fn acb_poly_contains_fmpz_poly(
309        poly1: *mut acb_poly_struct,
310        poly2: *mut fmpz_poly_struct,
311    ) -> c_int;
312    pub fn acb_poly_contains_fmpq_poly(
313        poly1: *mut acb_poly_struct,
314        poly2: *mut fmpq_poly_struct,
315    ) -> c_int;
316    pub fn _acb_poly_overlaps(
317        poly1: acb_srcptr,
318        len1: mp_limb_signed_t,
319        poly2: acb_srcptr,
320        len2: mp_limb_signed_t,
321    ) -> c_int;
322    pub fn acb_poly_overlaps(poly1: *mut acb_poly_struct, poly2: *mut acb_poly_struct) -> c_int;
323    pub fn acb_poly_contains(poly1: *mut acb_poly_struct, poly2: *mut acb_poly_struct) -> c_int;
324    pub fn _acb_poly_add(
325        res: acb_ptr,
326        poly1: acb_srcptr,
327        len1: mp_limb_signed_t,
328        poly2: acb_srcptr,
329        len2: mp_limb_signed_t,
330        prec: mp_limb_signed_t,
331    );
332    pub fn acb_poly_add(
333        res: *mut acb_poly_struct,
334        poly1: *mut acb_poly_struct,
335        poly2: *mut acb_poly_struct,
336        prec: mp_limb_signed_t,
337    );
338    pub fn acb_poly_add_si(
339        res: *mut acb_poly_struct,
340        poly: *mut acb_poly_struct,
341        c: mp_limb_signed_t,
342        prec: mp_limb_signed_t,
343    );
344    pub fn _acb_poly_sub(
345        res: acb_ptr,
346        poly1: acb_srcptr,
347        len1: mp_limb_signed_t,
348        poly2: acb_srcptr,
349        len2: mp_limb_signed_t,
350        prec: mp_limb_signed_t,
351    );
352    pub fn acb_poly_sub(
353        res: *mut acb_poly_struct,
354        poly1: *mut acb_poly_struct,
355        poly2: *mut acb_poly_struct,
356        prec: mp_limb_signed_t,
357    );
358    pub fn acb_poly_add_series(
359        res: *mut acb_poly_struct,
360        poly1: *mut acb_poly_struct,
361        poly2: *mut acb_poly_struct,
362        len: mp_limb_signed_t,
363        prec: mp_limb_signed_t,
364    );
365    pub fn acb_poly_sub_series(
366        res: *mut acb_poly_struct,
367        poly1: *mut acb_poly_struct,
368        poly2: *mut acb_poly_struct,
369        len: mp_limb_signed_t,
370        prec: mp_limb_signed_t,
371    );
372    pub fn acb_poly_mullow_classical(
373        res: *mut acb_poly_struct,
374        poly1: *mut acb_poly_struct,
375        poly2: *mut acb_poly_struct,
376        n: mp_limb_signed_t,
377        prec: mp_limb_signed_t,
378    );
379    pub fn _acb_poly_mullow_classical(
380        res: acb_ptr,
381        poly1: acb_srcptr,
382        len1: mp_limb_signed_t,
383        poly2: acb_srcptr,
384        len2: mp_limb_signed_t,
385        n: mp_limb_signed_t,
386        prec: mp_limb_signed_t,
387    );
388    pub fn _acb_poly_mullow_transpose(
389        res: acb_ptr,
390        poly1: acb_srcptr,
391        len1: mp_limb_signed_t,
392        poly2: acb_srcptr,
393        len2: mp_limb_signed_t,
394        n: mp_limb_signed_t,
395        prec: mp_limb_signed_t,
396    );
397    pub fn acb_poly_mullow_transpose(
398        res: *mut acb_poly_struct,
399        poly1: *mut acb_poly_struct,
400        poly2: *mut acb_poly_struct,
401        n: mp_limb_signed_t,
402        prec: mp_limb_signed_t,
403    );
404    pub fn _acb_poly_mullow_transpose_gauss(
405        res: acb_ptr,
406        poly1: acb_srcptr,
407        len1: mp_limb_signed_t,
408        poly2: acb_srcptr,
409        len2: mp_limb_signed_t,
410        n: mp_limb_signed_t,
411        prec: mp_limb_signed_t,
412    );
413    pub fn acb_poly_mullow_transpose_gauss(
414        res: *mut acb_poly_struct,
415        poly1: *mut acb_poly_struct,
416        poly2: *mut acb_poly_struct,
417        n: mp_limb_signed_t,
418        prec: mp_limb_signed_t,
419    );
420    pub fn _acb_poly_mullow(
421        res: acb_ptr,
422        poly1: acb_srcptr,
423        len1: mp_limb_signed_t,
424        poly2: acb_srcptr,
425        len2: mp_limb_signed_t,
426        n: mp_limb_signed_t,
427        prec: mp_limb_signed_t,
428    );
429    pub fn acb_poly_mullow(
430        res: *mut acb_poly_struct,
431        poly1: *mut acb_poly_struct,
432        poly2: *mut acb_poly_struct,
433        n: mp_limb_signed_t,
434        prec: mp_limb_signed_t,
435    );
436    pub fn _acb_poly_mul(
437        C: acb_ptr,
438        A: acb_srcptr,
439        lenA: mp_limb_signed_t,
440        B: acb_srcptr,
441        lenB: mp_limb_signed_t,
442        prec: mp_limb_signed_t,
443    );
444    pub fn acb_poly_mul(
445        res: *mut acb_poly_struct,
446        poly1: *mut acb_poly_struct,
447        poly2: *mut acb_poly_struct,
448        prec: mp_limb_signed_t,
449    );
450    pub fn _acb_poly_inv_series(
451        Qinv: acb_ptr,
452        Q: acb_srcptr,
453        Qlen: mp_limb_signed_t,
454        len: mp_limb_signed_t,
455        prec: mp_limb_signed_t,
456    );
457    pub fn acb_poly_inv_series(
458        Qinv: *mut acb_poly_struct,
459        Q: *mut acb_poly_struct,
460        n: mp_limb_signed_t,
461        prec: mp_limb_signed_t,
462    );
463    pub fn _acb_poly_div_series(
464        Q: acb_ptr,
465        A: acb_srcptr,
466        Alen: mp_limb_signed_t,
467        B: acb_srcptr,
468        Blen: mp_limb_signed_t,
469        n: mp_limb_signed_t,
470        prec: mp_limb_signed_t,
471    );
472    pub fn acb_poly_div_series(
473        Q: *mut acb_poly_struct,
474        A: *mut acb_poly_struct,
475        B: *mut acb_poly_struct,
476        n: mp_limb_signed_t,
477        prec: mp_limb_signed_t,
478    );
479    pub fn _acb_poly_reverse(
480        res: acb_ptr,
481        poly: acb_srcptr,
482        len: mp_limb_signed_t,
483        n: mp_limb_signed_t,
484    );
485    pub fn _acb_poly_div(
486        Q: acb_ptr,
487        A: acb_srcptr,
488        lenA: mp_limb_signed_t,
489        B: acb_srcptr,
490        lenB: mp_limb_signed_t,
491        prec: mp_limb_signed_t,
492    );
493    pub fn _acb_poly_divrem(
494        Q: acb_ptr,
495        R: acb_ptr,
496        A: acb_srcptr,
497        lenA: mp_limb_signed_t,
498        B: acb_srcptr,
499        lenB: mp_limb_signed_t,
500        prec: mp_limb_signed_t,
501    );
502    pub fn _acb_poly_rem(
503        R: acb_ptr,
504        A: acb_srcptr,
505        lenA: mp_limb_signed_t,
506        B: acb_srcptr,
507        lenB: mp_limb_signed_t,
508        prec: mp_limb_signed_t,
509    );
510    pub fn acb_poly_divrem(
511        Q: *mut acb_poly_struct,
512        R: *mut acb_poly_struct,
513        A: *mut acb_poly_struct,
514        B: *mut acb_poly_struct,
515        prec: mp_limb_signed_t,
516    ) -> c_int;
517    pub fn _acb_poly_div_root(
518        Q: acb_ptr,
519        R: *mut acb_struct,
520        A: acb_srcptr,
521        len: mp_limb_signed_t,
522        c: *mut acb_struct,
523        prec: mp_limb_signed_t,
524    );
525    pub fn _acb_poly_taylor_shift_horner(
526        poly: acb_ptr,
527        c: *mut acb_struct,
528        n: mp_limb_signed_t,
529        prec: mp_limb_signed_t,
530    );
531    pub fn acb_poly_taylor_shift_horner(
532        g: *mut acb_poly_struct,
533        f: *mut acb_poly_struct,
534        c: *mut acb_struct,
535        prec: mp_limb_signed_t,
536    );
537    pub fn _acb_poly_taylor_shift_divconquer(
538        poly: acb_ptr,
539        c: *mut acb_struct,
540        n: mp_limb_signed_t,
541        prec: mp_limb_signed_t,
542    );
543    pub fn acb_poly_taylor_shift_divconquer(
544        g: *mut acb_poly_struct,
545        f: *mut acb_poly_struct,
546        c: *mut acb_struct,
547        prec: mp_limb_signed_t,
548    );
549    pub fn _acb_poly_taylor_shift_convolution(
550        poly: acb_ptr,
551        c: *mut acb_struct,
552        n: mp_limb_signed_t,
553        prec: mp_limb_signed_t,
554    );
555    pub fn acb_poly_taylor_shift_convolution(
556        g: *mut acb_poly_struct,
557        f: *mut acb_poly_struct,
558        c: *mut acb_struct,
559        prec: mp_limb_signed_t,
560    );
561    pub fn _acb_poly_taylor_shift(
562        poly: acb_ptr,
563        c: *mut acb_struct,
564        n: mp_limb_signed_t,
565        prec: mp_limb_signed_t,
566    );
567    pub fn acb_poly_taylor_shift(
568        g: *mut acb_poly_struct,
569        f: *mut acb_poly_struct,
570        c: *mut acb_struct,
571        prec: mp_limb_signed_t,
572    );
573    pub fn _acb_poly_compose(
574        res: acb_ptr,
575        poly1: acb_srcptr,
576        len1: mp_limb_signed_t,
577        poly2: acb_srcptr,
578        len2: mp_limb_signed_t,
579        prec: mp_limb_signed_t,
580    );
581    pub fn acb_poly_compose(
582        res: *mut acb_poly_struct,
583        poly1: *mut acb_poly_struct,
584        poly2: *mut acb_poly_struct,
585        prec: mp_limb_signed_t,
586    );
587    pub fn _acb_poly_compose_horner(
588        res: acb_ptr,
589        poly1: acb_srcptr,
590        len1: mp_limb_signed_t,
591        poly2: acb_srcptr,
592        len2: mp_limb_signed_t,
593        prec: mp_limb_signed_t,
594    );
595    pub fn acb_poly_compose_horner(
596        res: *mut acb_poly_struct,
597        poly1: *mut acb_poly_struct,
598        poly2: *mut acb_poly_struct,
599        prec: mp_limb_signed_t,
600    );
601    pub fn _acb_poly_compose_divconquer(
602        res: acb_ptr,
603        poly1: acb_srcptr,
604        len1: mp_limb_signed_t,
605        poly2: acb_srcptr,
606        len2: mp_limb_signed_t,
607        prec: mp_limb_signed_t,
608    );
609    pub fn acb_poly_compose_divconquer(
610        res: *mut acb_poly_struct,
611        poly1: *mut acb_poly_struct,
612        poly2: *mut acb_poly_struct,
613        prec: mp_limb_signed_t,
614    );
615    pub fn _acb_poly_compose_series_horner(
616        res: acb_ptr,
617        poly1: acb_srcptr,
618        len1: mp_limb_signed_t,
619        poly2: acb_srcptr,
620        len2: mp_limb_signed_t,
621        n: mp_limb_signed_t,
622        prec: mp_limb_signed_t,
623    );
624    pub fn acb_poly_compose_series_horner(
625        res: *mut acb_poly_struct,
626        poly1: *mut acb_poly_struct,
627        poly2: *mut acb_poly_struct,
628        n: mp_limb_signed_t,
629        prec: mp_limb_signed_t,
630    );
631    pub fn _acb_poly_compose_series_brent_kung(
632        res: acb_ptr,
633        poly1: acb_srcptr,
634        len1: mp_limb_signed_t,
635        poly2: acb_srcptr,
636        len2: mp_limb_signed_t,
637        n: mp_limb_signed_t,
638        prec: mp_limb_signed_t,
639    );
640    pub fn acb_poly_compose_series_brent_kung(
641        res: *mut acb_poly_struct,
642        poly1: *mut acb_poly_struct,
643        poly2: *mut acb_poly_struct,
644        n: mp_limb_signed_t,
645        prec: mp_limb_signed_t,
646    );
647    pub fn _acb_poly_compose_series(
648        res: acb_ptr,
649        poly1: acb_srcptr,
650        len1: mp_limb_signed_t,
651        poly2: acb_srcptr,
652        len2: mp_limb_signed_t,
653        n: mp_limb_signed_t,
654        prec: mp_limb_signed_t,
655    );
656    pub fn acb_poly_compose_series(
657        res: *mut acb_poly_struct,
658        poly1: *mut acb_poly_struct,
659        poly2: *mut acb_poly_struct,
660        n: mp_limb_signed_t,
661        prec: mp_limb_signed_t,
662    );
663    pub fn _acb_poly_revert_series_lagrange(
664        Qinv: acb_ptr,
665        Q: acb_srcptr,
666        Qlen: mp_limb_signed_t,
667        n: mp_limb_signed_t,
668        prec: mp_limb_signed_t,
669    );
670    pub fn acb_poly_revert_series_lagrange(
671        Qinv: *mut acb_poly_struct,
672        Q: *mut acb_poly_struct,
673        n: mp_limb_signed_t,
674        prec: mp_limb_signed_t,
675    );
676    pub fn _acb_poly_revert_series_newton(
677        Qinv: acb_ptr,
678        Q: acb_srcptr,
679        Qlen: mp_limb_signed_t,
680        n: mp_limb_signed_t,
681        prec: mp_limb_signed_t,
682    );
683    pub fn acb_poly_revert_series_newton(
684        Qinv: *mut acb_poly_struct,
685        Q: *mut acb_poly_struct,
686        n: mp_limb_signed_t,
687        prec: mp_limb_signed_t,
688    );
689    pub fn _acb_poly_revert_series_lagrange_fast(
690        Qinv: acb_ptr,
691        Q: acb_srcptr,
692        Qlen: mp_limb_signed_t,
693        n: mp_limb_signed_t,
694        prec: mp_limb_signed_t,
695    );
696    pub fn acb_poly_revert_series_lagrange_fast(
697        Qinv: *mut acb_poly_struct,
698        Q: *mut acb_poly_struct,
699        n: mp_limb_signed_t,
700        prec: mp_limb_signed_t,
701    );
702    pub fn _acb_poly_revert_series(
703        Qinv: acb_ptr,
704        Q: acb_srcptr,
705        Qlen: mp_limb_signed_t,
706        n: mp_limb_signed_t,
707        prec: mp_limb_signed_t,
708    );
709    pub fn acb_poly_revert_series(
710        Qinv: *mut acb_poly_struct,
711        Q: *mut acb_poly_struct,
712        n: mp_limb_signed_t,
713        prec: mp_limb_signed_t,
714    );
715    pub fn _acb_poly_evaluate_vec_fast_precomp(
716        vs: acb_ptr,
717        poly: acb_srcptr,
718        plen: mp_limb_signed_t,
719        tree: *mut acb_ptr,
720        len: mp_limb_signed_t,
721        prec: mp_limb_signed_t,
722    );
723    pub fn _acb_poly_evaluate_vec_fast(
724        ys: acb_ptr,
725        poly: acb_srcptr,
726        plen: mp_limb_signed_t,
727        xs: acb_srcptr,
728        n: mp_limb_signed_t,
729        prec: mp_limb_signed_t,
730    );
731    pub fn acb_poly_evaluate_vec_fast(
732        ys: acb_ptr,
733        poly: *mut acb_poly_struct,
734        xs: acb_srcptr,
735        n: mp_limb_signed_t,
736        prec: mp_limb_signed_t,
737    );
738    pub fn _acb_poly_evaluate_vec_iter(
739        ys: acb_ptr,
740        poly: acb_srcptr,
741        plen: mp_limb_signed_t,
742        xs: acb_srcptr,
743        n: mp_limb_signed_t,
744        prec: mp_limb_signed_t,
745    );
746    pub fn acb_poly_evaluate_vec_iter(
747        ys: acb_ptr,
748        poly: *mut acb_poly_struct,
749        xs: acb_srcptr,
750        n: mp_limb_signed_t,
751        prec: mp_limb_signed_t,
752    );
753    pub fn _acb_poly_interpolate_barycentric(
754        poly: acb_ptr,
755        xs: acb_srcptr,
756        ys: acb_srcptr,
757        n: mp_limb_signed_t,
758        prec: mp_limb_signed_t,
759    );
760    pub fn acb_poly_interpolate_barycentric(
761        poly: *mut acb_poly_struct,
762        xs: acb_srcptr,
763        ys: acb_srcptr,
764        n: mp_limb_signed_t,
765        prec: mp_limb_signed_t,
766    );
767    pub fn _acb_poly_interpolation_weights(
768        w: acb_ptr,
769        tree: *mut acb_ptr,
770        len: mp_limb_signed_t,
771        prec: mp_limb_signed_t,
772    );
773    pub fn _acb_poly_interpolate_fast_precomp(
774        poly: acb_ptr,
775        ys: acb_srcptr,
776        tree: *mut acb_ptr,
777        weights: acb_srcptr,
778        len: mp_limb_signed_t,
779        prec: mp_limb_signed_t,
780    );
781    pub fn _acb_poly_interpolate_fast(
782        poly: acb_ptr,
783        xs: acb_srcptr,
784        ys: acb_srcptr,
785        len: mp_limb_signed_t,
786        prec: mp_limb_signed_t,
787    );
788    pub fn acb_poly_interpolate_fast(
789        poly: *mut acb_poly_struct,
790        xs: acb_srcptr,
791        ys: acb_srcptr,
792        n: mp_limb_signed_t,
793        prec: mp_limb_signed_t,
794    );
795    pub fn _acb_poly_interpolate_newton(
796        poly: acb_ptr,
797        xs: acb_srcptr,
798        ys: acb_srcptr,
799        n: mp_limb_signed_t,
800        prec: mp_limb_signed_t,
801    );
802    pub fn acb_poly_interpolate_newton(
803        poly: *mut acb_poly_struct,
804        xs: acb_srcptr,
805        ys: acb_srcptr,
806        n: mp_limb_signed_t,
807        prec: mp_limb_signed_t,
808    );
809    pub fn _acb_poly_product_roots(
810        poly: acb_ptr,
811        xs: acb_srcptr,
812        n: mp_limb_signed_t,
813        prec: mp_limb_signed_t,
814    );
815    pub fn acb_poly_product_roots(
816        poly: *mut acb_poly_struct,
817        xs: acb_srcptr,
818        n: mp_limb_signed_t,
819        prec: mp_limb_signed_t,
820    );
821    pub fn _acb_poly_tree_alloc(len: mp_limb_signed_t) -> *mut acb_ptr;
822    pub fn _acb_poly_tree_free(tree: *mut acb_ptr, len: mp_limb_signed_t);
823    pub fn _acb_poly_tree_build(
824        tree: *mut acb_ptr,
825        roots: acb_srcptr,
826        len: mp_limb_signed_t,
827        prec: mp_limb_signed_t,
828    );
829    pub fn _acb_poly_root_inclusion(
830        r: *mut acb_struct,
831        m: *mut acb_struct,
832        poly: acb_srcptr,
833        polyder: acb_srcptr,
834        len: mp_limb_signed_t,
835        prec: mp_limb_signed_t,
836    );
837    pub fn _acb_poly_validate_roots(
838        roots: acb_ptr,
839        poly: acb_srcptr,
840        len: mp_limb_signed_t,
841        prec: mp_limb_signed_t,
842    ) -> mp_limb_signed_t;
843    pub fn _acb_poly_refine_roots_durand_kerner(
844        roots: acb_ptr,
845        poly: acb_srcptr,
846        len: mp_limb_signed_t,
847        prec: mp_limb_signed_t,
848    );
849    pub fn _acb_poly_find_roots(
850        roots: acb_ptr,
851        poly: acb_srcptr,
852        initial: acb_srcptr,
853        len: mp_limb_signed_t,
854        maxiter: mp_limb_signed_t,
855        prec: mp_limb_signed_t,
856    ) -> mp_limb_signed_t;
857    pub fn acb_poly_find_roots(
858        roots: acb_ptr,
859        poly: *mut acb_poly_struct,
860        initial: acb_srcptr,
861        maxiter: mp_limb_signed_t,
862        prec: mp_limb_signed_t,
863    ) -> mp_limb_signed_t;
864    pub fn _acb_poly_root_bound_fujiwara(
865        bound: *mut mag_struct,
866        poly: acb_srcptr,
867        len: mp_limb_signed_t,
868    );
869    pub fn acb_poly_root_bound_fujiwara(bound: *mut mag_struct, poly: *mut acb_poly_struct);
870    pub fn _acb_poly_validate_real_roots(
871        roots: acb_srcptr,
872        poly: acb_srcptr,
873        len: mp_limb_signed_t,
874        prec: mp_limb_signed_t,
875    ) -> c_int;
876    pub fn acb_poly_validate_real_roots(
877        roots: acb_srcptr,
878        poly: *mut acb_poly_struct,
879        prec: mp_limb_signed_t,
880    ) -> c_int;
881    pub fn _acb_poly_pow_ui_trunc_binexp(
882        res: acb_ptr,
883        f: acb_srcptr,
884        flen: mp_limb_signed_t,
885        exp: mp_limb_t,
886        len: mp_limb_signed_t,
887        prec: mp_limb_signed_t,
888    );
889    pub fn acb_poly_pow_ui_trunc_binexp(
890        res: *mut acb_poly_struct,
891        poly: *mut acb_poly_struct,
892        exp: mp_limb_t,
893        len: mp_limb_signed_t,
894        prec: mp_limb_signed_t,
895    );
896    pub fn _acb_poly_pow_ui(
897        res: acb_ptr,
898        f: acb_srcptr,
899        flen: mp_limb_signed_t,
900        exp: mp_limb_t,
901        prec: mp_limb_signed_t,
902    );
903    pub fn acb_poly_pow_ui(
904        res: *mut acb_poly_struct,
905        poly: *mut acb_poly_struct,
906        exp: mp_limb_t,
907        prec: mp_limb_signed_t,
908    );
909    pub fn _acb_poly_rsqrt_series(
910        g: acb_ptr,
911        h: acb_srcptr,
912        hlen: mp_limb_signed_t,
913        len: mp_limb_signed_t,
914        prec: mp_limb_signed_t,
915    );
916    pub fn acb_poly_rsqrt_series(
917        g: *mut acb_poly_struct,
918        h: *mut acb_poly_struct,
919        n: mp_limb_signed_t,
920        prec: mp_limb_signed_t,
921    );
922    pub fn _acb_poly_sqrt_series(
923        g: acb_ptr,
924        h: acb_srcptr,
925        hlen: mp_limb_signed_t,
926        len: mp_limb_signed_t,
927        prec: mp_limb_signed_t,
928    );
929    pub fn acb_poly_sqrt_series(
930        g: *mut acb_poly_struct,
931        h: *mut acb_poly_struct,
932        n: mp_limb_signed_t,
933        prec: mp_limb_signed_t,
934    );
935    pub fn _acb_poly_log_series(
936        res: acb_ptr,
937        f: acb_srcptr,
938        flen: mp_limb_signed_t,
939        n: mp_limb_signed_t,
940        prec: mp_limb_signed_t,
941    );
942    pub fn acb_poly_log_series(
943        res: *mut acb_poly_struct,
944        f: *mut acb_poly_struct,
945        n: mp_limb_signed_t,
946        prec: mp_limb_signed_t,
947    );
948    pub fn _acb_poly_log1p_series(
949        res: acb_ptr,
950        f: acb_srcptr,
951        flen: mp_limb_signed_t,
952        n: mp_limb_signed_t,
953        prec: mp_limb_signed_t,
954    );
955    pub fn acb_poly_log1p_series(
956        res: *mut acb_poly_struct,
957        f: *mut acb_poly_struct,
958        n: mp_limb_signed_t,
959        prec: mp_limb_signed_t,
960    );
961    pub fn _acb_poly_atan_series(
962        res: acb_ptr,
963        f: acb_srcptr,
964        flen: mp_limb_signed_t,
965        n: mp_limb_signed_t,
966        prec: mp_limb_signed_t,
967    );
968    pub fn acb_poly_atan_series(
969        res: *mut acb_poly_struct,
970        f: *mut acb_poly_struct,
971        n: mp_limb_signed_t,
972        prec: mp_limb_signed_t,
973    );
974    pub fn _acb_poly_exp_series_basecase(
975        f: acb_ptr,
976        h: acb_srcptr,
977        hlen: mp_limb_signed_t,
978        n: mp_limb_signed_t,
979        prec: mp_limb_signed_t,
980    );
981    pub fn acb_poly_exp_series_basecase(
982        f: *mut acb_poly_struct,
983        h: *mut acb_poly_struct,
984        n: mp_limb_signed_t,
985        prec: mp_limb_signed_t,
986    );
987    pub fn _acb_poly_exp_series(
988        f: acb_ptr,
989        h: acb_srcptr,
990        hlen: mp_limb_signed_t,
991        n: mp_limb_signed_t,
992        prec: mp_limb_signed_t,
993    );
994    pub fn acb_poly_exp_series(
995        f: *mut acb_poly_struct,
996        h: *mut acb_poly_struct,
997        n: mp_limb_signed_t,
998        prec: mp_limb_signed_t,
999    );
1000    pub fn _acb_poly_exp_pi_i_series(
1001        f: acb_ptr,
1002        h: acb_srcptr,
1003        hlen: mp_limb_signed_t,
1004        n: mp_limb_signed_t,
1005        prec: mp_limb_signed_t,
1006    );
1007    pub fn acb_poly_exp_pi_i_series(
1008        f: *mut acb_poly_struct,
1009        h: *mut acb_poly_struct,
1010        n: mp_limb_signed_t,
1011        prec: mp_limb_signed_t,
1012    );
1013    pub fn _acb_poly_sinh_cosh_series_basecase(
1014        s: acb_ptr,
1015        c: acb_ptr,
1016        h: acb_srcptr,
1017        hlen: mp_limb_signed_t,
1018        n: mp_limb_signed_t,
1019        prec: mp_limb_signed_t,
1020    );
1021    pub fn acb_poly_sinh_cosh_series_basecase(
1022        s: *mut acb_poly_struct,
1023        c: *mut acb_poly_struct,
1024        h: *mut acb_poly_struct,
1025        n: mp_limb_signed_t,
1026        prec: mp_limb_signed_t,
1027    );
1028    pub fn _acb_poly_sinh_cosh_series_exponential(
1029        s: acb_ptr,
1030        c: acb_ptr,
1031        h: acb_srcptr,
1032        hlen: mp_limb_signed_t,
1033        n: mp_limb_signed_t,
1034        prec: mp_limb_signed_t,
1035    );
1036    pub fn acb_poly_sinh_cosh_series_exponential(
1037        s: *mut acb_poly_struct,
1038        c: *mut acb_poly_struct,
1039        h: *mut acb_poly_struct,
1040        n: mp_limb_signed_t,
1041        prec: mp_limb_signed_t,
1042    );
1043    pub fn _acb_poly_sinh_cosh_series(
1044        s: acb_ptr,
1045        c: acb_ptr,
1046        h: acb_srcptr,
1047        hlen: mp_limb_signed_t,
1048        n: mp_limb_signed_t,
1049        prec: mp_limb_signed_t,
1050    );
1051    pub fn acb_poly_sinh_cosh_series(
1052        s: *mut acb_poly_struct,
1053        c: *mut acb_poly_struct,
1054        h: *mut acb_poly_struct,
1055        n: mp_limb_signed_t,
1056        prec: mp_limb_signed_t,
1057    );
1058    pub fn _acb_poly_sinh_series(
1059        s: acb_ptr,
1060        h: acb_srcptr,
1061        hlen: mp_limb_signed_t,
1062        n: mp_limb_signed_t,
1063        prec: mp_limb_signed_t,
1064    );
1065    pub fn acb_poly_sinh_series(
1066        s: *mut acb_poly_struct,
1067        h: *mut acb_poly_struct,
1068        n: mp_limb_signed_t,
1069        prec: mp_limb_signed_t,
1070    );
1071    pub fn _acb_poly_cosh_series(
1072        c: acb_ptr,
1073        h: acb_srcptr,
1074        hlen: mp_limb_signed_t,
1075        n: mp_limb_signed_t,
1076        prec: mp_limb_signed_t,
1077    );
1078    pub fn acb_poly_cosh_series(
1079        c: *mut acb_poly_struct,
1080        h: *mut acb_poly_struct,
1081        n: mp_limb_signed_t,
1082        prec: mp_limb_signed_t,
1083    );
1084    pub fn _acb_poly_sin_cos_series_basecase(
1085        s: acb_ptr,
1086        c: acb_ptr,
1087        h: acb_srcptr,
1088        hlen: mp_limb_signed_t,
1089        n: mp_limb_signed_t,
1090        prec: mp_limb_signed_t,
1091        times_pi: c_int,
1092    );
1093    pub fn acb_poly_sin_cos_series_basecase(
1094        s: *mut acb_poly_struct,
1095        c: *mut acb_poly_struct,
1096        h: *mut acb_poly_struct,
1097        n: mp_limb_signed_t,
1098        prec: mp_limb_signed_t,
1099        times_pi: c_int,
1100    );
1101    pub fn _acb_poly_sin_cos_series_tangent(
1102        s: acb_ptr,
1103        c: acb_ptr,
1104        h: acb_srcptr,
1105        hlen: mp_limb_signed_t,
1106        len: mp_limb_signed_t,
1107        prec: mp_limb_signed_t,
1108        times_pi: c_int,
1109    );
1110    pub fn acb_poly_sin_cos_series_tangent(
1111        s: *mut acb_poly_struct,
1112        c: *mut acb_poly_struct,
1113        h: *mut acb_poly_struct,
1114        n: mp_limb_signed_t,
1115        prec: mp_limb_signed_t,
1116        times_pi: c_int,
1117    );
1118    pub fn _acb_poly_sin_cos_series(
1119        s: acb_ptr,
1120        c: acb_ptr,
1121        h: acb_srcptr,
1122        hlen: mp_limb_signed_t,
1123        len: mp_limb_signed_t,
1124        prec: mp_limb_signed_t,
1125    );
1126    pub fn acb_poly_sin_cos_series(
1127        s: *mut acb_poly_struct,
1128        c: *mut acb_poly_struct,
1129        h: *mut acb_poly_struct,
1130        n: mp_limb_signed_t,
1131        prec: mp_limb_signed_t,
1132    );
1133    pub fn _acb_poly_sin_series(
1134        g: acb_ptr,
1135        h: acb_srcptr,
1136        hlen: mp_limb_signed_t,
1137        n: mp_limb_signed_t,
1138        prec: mp_limb_signed_t,
1139    );
1140    pub fn acb_poly_sin_series(
1141        g: *mut acb_poly_struct,
1142        h: *mut acb_poly_struct,
1143        n: mp_limb_signed_t,
1144        prec: mp_limb_signed_t,
1145    );
1146    pub fn _acb_poly_cos_series(
1147        g: acb_ptr,
1148        h: acb_srcptr,
1149        hlen: mp_limb_signed_t,
1150        n: mp_limb_signed_t,
1151        prec: mp_limb_signed_t,
1152    );
1153    pub fn acb_poly_cos_series(
1154        g: *mut acb_poly_struct,
1155        h: *mut acb_poly_struct,
1156        n: mp_limb_signed_t,
1157        prec: mp_limb_signed_t,
1158    );
1159    pub fn _acb_poly_sin_cos_pi_series(
1160        s: acb_ptr,
1161        c: acb_ptr,
1162        h: acb_srcptr,
1163        hlen: mp_limb_signed_t,
1164        len: mp_limb_signed_t,
1165        prec: mp_limb_signed_t,
1166    );
1167    pub fn acb_poly_sin_cos_pi_series(
1168        s: *mut acb_poly_struct,
1169        c: *mut acb_poly_struct,
1170        h: *mut acb_poly_struct,
1171        n: mp_limb_signed_t,
1172        prec: mp_limb_signed_t,
1173    );
1174    pub fn _acb_poly_sin_pi_series(
1175        g: acb_ptr,
1176        h: acb_srcptr,
1177        hlen: mp_limb_signed_t,
1178        n: mp_limb_signed_t,
1179        prec: mp_limb_signed_t,
1180    );
1181    pub fn acb_poly_sin_pi_series(
1182        g: *mut acb_poly_struct,
1183        h: *mut acb_poly_struct,
1184        n: mp_limb_signed_t,
1185        prec: mp_limb_signed_t,
1186    );
1187    pub fn _acb_poly_cos_pi_series(
1188        g: acb_ptr,
1189        h: acb_srcptr,
1190        hlen: mp_limb_signed_t,
1191        n: mp_limb_signed_t,
1192        prec: mp_limb_signed_t,
1193    );
1194    pub fn acb_poly_cos_pi_series(
1195        g: *mut acb_poly_struct,
1196        h: *mut acb_poly_struct,
1197        n: mp_limb_signed_t,
1198        prec: mp_limb_signed_t,
1199    );
1200    pub fn _acb_poly_cot_pi_series(
1201        g: acb_ptr,
1202        h: acb_srcptr,
1203        hlen: mp_limb_signed_t,
1204        len: mp_limb_signed_t,
1205        prec: mp_limb_signed_t,
1206    );
1207    pub fn acb_poly_cot_pi_series(
1208        res: *mut acb_poly_struct,
1209        f: *mut acb_poly_struct,
1210        len: mp_limb_signed_t,
1211        prec: mp_limb_signed_t,
1212    );
1213    pub fn _acb_poly_tan_series(
1214        g: acb_ptr,
1215        h: acb_srcptr,
1216        hlen: mp_limb_signed_t,
1217        len: mp_limb_signed_t,
1218        prec: mp_limb_signed_t,
1219    );
1220    pub fn acb_poly_tan_series(
1221        g: *mut acb_poly_struct,
1222        h: *mut acb_poly_struct,
1223        n: mp_limb_signed_t,
1224        prec: mp_limb_signed_t,
1225    );
1226    pub fn _acb_poly_sinc_series(
1227        g: acb_ptr,
1228        h: acb_srcptr,
1229        hlen: mp_limb_signed_t,
1230        n: mp_limb_signed_t,
1231        prec: mp_limb_signed_t,
1232    );
1233    pub fn acb_poly_sinc_series(
1234        g: *mut acb_poly_struct,
1235        h: *mut acb_poly_struct,
1236        n: mp_limb_signed_t,
1237        prec: mp_limb_signed_t,
1238    );
1239    pub fn _acb_poly_lambertw_series(
1240        res: acb_ptr,
1241        z: acb_srcptr,
1242        zlen: mp_limb_signed_t,
1243        k: *mut fmpz,
1244        flags: c_int,
1245        len: mp_limb_signed_t,
1246        prec: mp_limb_signed_t,
1247    );
1248    pub fn acb_poly_lambertw_series(
1249        res: *mut acb_poly_struct,
1250        z: *mut acb_poly_struct,
1251        k: *mut fmpz,
1252        flags: c_int,
1253        len: mp_limb_signed_t,
1254        prec: mp_limb_signed_t,
1255    );
1256    pub fn _acb_poly_gamma_series(
1257        res: acb_ptr,
1258        h: acb_srcptr,
1259        hlen: mp_limb_signed_t,
1260        len: mp_limb_signed_t,
1261        prec: mp_limb_signed_t,
1262    );
1263    pub fn acb_poly_gamma_series(
1264        res: *mut acb_poly_struct,
1265        f: *mut acb_poly_struct,
1266        n: mp_limb_signed_t,
1267        prec: mp_limb_signed_t,
1268    );
1269    pub fn _acb_poly_rgamma_series(
1270        res: acb_ptr,
1271        h: acb_srcptr,
1272        hlen: mp_limb_signed_t,
1273        len: mp_limb_signed_t,
1274        prec: mp_limb_signed_t,
1275    );
1276    pub fn acb_poly_rgamma_series(
1277        res: *mut acb_poly_struct,
1278        f: *mut acb_poly_struct,
1279        n: mp_limb_signed_t,
1280        prec: mp_limb_signed_t,
1281    );
1282    pub fn _acb_poly_lgamma_series(
1283        res: acb_ptr,
1284        h: acb_srcptr,
1285        hlen: mp_limb_signed_t,
1286        len: mp_limb_signed_t,
1287        prec: mp_limb_signed_t,
1288    );
1289    pub fn acb_poly_lgamma_series(
1290        res: *mut acb_poly_struct,
1291        f: *mut acb_poly_struct,
1292        n: mp_limb_signed_t,
1293        prec: mp_limb_signed_t,
1294    );
1295    pub fn _acb_poly_digamma_series(
1296        res: acb_ptr,
1297        h: acb_srcptr,
1298        hlen: mp_limb_signed_t,
1299        len: mp_limb_signed_t,
1300        prec: mp_limb_signed_t,
1301    );
1302    pub fn acb_poly_digamma_series(
1303        res: *mut acb_poly_struct,
1304        f: *mut acb_poly_struct,
1305        n: mp_limb_signed_t,
1306        prec: mp_limb_signed_t,
1307    );
1308    pub fn _acb_poly_rising_ui_series(
1309        res: acb_ptr,
1310        f: acb_srcptr,
1311        flen: mp_limb_signed_t,
1312        r: mp_limb_t,
1313        trunc: mp_limb_signed_t,
1314        prec: mp_limb_signed_t,
1315    );
1316    pub fn acb_poly_rising_ui_series(
1317        res: *mut acb_poly_struct,
1318        f: *mut acb_poly_struct,
1319        r: mp_limb_t,
1320        trunc: mp_limb_signed_t,
1321        prec: mp_limb_signed_t,
1322    );
1323    pub fn _acb_poly_pow_acb_series(
1324        h: acb_ptr,
1325        f: acb_srcptr,
1326        flen: mp_limb_signed_t,
1327        g: *mut acb_struct,
1328        len: mp_limb_signed_t,
1329        prec: mp_limb_signed_t,
1330    );
1331    pub fn acb_poly_pow_acb_series(
1332        h: *mut acb_poly_struct,
1333        f: *mut acb_poly_struct,
1334        g: *mut acb_struct,
1335        len: mp_limb_signed_t,
1336        prec: mp_limb_signed_t,
1337    );
1338    pub fn _acb_poly_pow_series(
1339        h: acb_ptr,
1340        f: acb_srcptr,
1341        flen: mp_limb_signed_t,
1342        g: acb_srcptr,
1343        glen: mp_limb_signed_t,
1344        len: mp_limb_signed_t,
1345        prec: mp_limb_signed_t,
1346    );
1347    pub fn acb_poly_pow_series(
1348        h: *mut acb_poly_struct,
1349        f: *mut acb_poly_struct,
1350        g: *mut acb_poly_struct,
1351        len: mp_limb_signed_t,
1352        prec: mp_limb_signed_t,
1353    );
1354    pub fn _acb_poly_binomial_pow_acb_series(
1355        h: acb_ptr,
1356        f: acb_srcptr,
1357        flen: mp_limb_signed_t,
1358        g: *mut acb_struct,
1359        len: mp_limb_signed_t,
1360        prec: mp_limb_signed_t,
1361    );
1362    pub fn _acb_poly_acb_invpow_cpx(
1363        res: acb_ptr,
1364        N: *mut acb_struct,
1365        c: *mut acb_struct,
1366        trunc: mp_limb_signed_t,
1367        prec: mp_limb_signed_t,
1368    );
1369    pub fn _acb_poly_mullow_cpx(
1370        res: acb_ptr,
1371        src: acb_srcptr,
1372        len: mp_limb_signed_t,
1373        c: *mut acb_struct,
1374        trunc: mp_limb_signed_t,
1375        prec: mp_limb_signed_t,
1376    );
1377    pub fn _acb_poly_powsum_series_naive(
1378        z: acb_ptr,
1379        s: *mut acb_struct,
1380        a: *mut acb_struct,
1381        q: *mut acb_struct,
1382        n: mp_limb_signed_t,
1383        len: mp_limb_signed_t,
1384        prec: mp_limb_signed_t,
1385    );
1386    pub fn _acb_poly_powsum_series_naive_threaded(
1387        z: acb_ptr,
1388        s: *mut acb_struct,
1389        a: *mut acb_struct,
1390        q: *mut acb_struct,
1391        n: mp_limb_signed_t,
1392        len: mp_limb_signed_t,
1393        prec: mp_limb_signed_t,
1394    );
1395    pub fn _acb_poly_powsum_one_series_sieved(
1396        z: acb_ptr,
1397        s: *mut acb_struct,
1398        n: mp_limb_signed_t,
1399        len: mp_limb_signed_t,
1400        prec: mp_limb_signed_t,
1401    );
1402    pub fn _acb_poly_zeta_em_sum(
1403        z: acb_ptr,
1404        s: *mut acb_struct,
1405        a: *mut acb_struct,
1406        deflate: c_int,
1407        N: mp_limb_t,
1408        M: mp_limb_t,
1409        d: mp_limb_signed_t,
1410        prec: mp_limb_signed_t,
1411    );
1412    pub fn _acb_poly_zeta_em_choose_param(
1413        bound: *mut mag_struct,
1414        N: *mut mp_limb_t,
1415        M: *mut mp_limb_t,
1416        s: *mut acb_struct,
1417        a: *mut acb_struct,
1418        d: mp_limb_signed_t,
1419        target: mp_limb_signed_t,
1420        prec: mp_limb_signed_t,
1421    );
1422    pub fn _acb_poly_zeta_em_bound1(
1423        bound: *mut mag_struct,
1424        s: *mut acb_struct,
1425        a: *mut acb_struct,
1426        N: mp_limb_signed_t,
1427        M: mp_limb_signed_t,
1428        d: mp_limb_signed_t,
1429        wp: mp_limb_signed_t,
1430    );
1431    pub fn _acb_poly_zeta_em_bound(
1432        vec: arb_ptr,
1433        s: *mut acb_struct,
1434        a: *mut acb_struct,
1435        N: mp_limb_t,
1436        M: mp_limb_t,
1437        d: mp_limb_signed_t,
1438        wp: mp_limb_signed_t,
1439    );
1440    pub fn _acb_poly_zeta_em_tail_naive(
1441        sum: acb_ptr,
1442        s: *mut acb_struct,
1443        Na: *mut acb_struct,
1444        Nasx: acb_srcptr,
1445        M: mp_limb_signed_t,
1446        len: mp_limb_signed_t,
1447        prec: mp_limb_signed_t,
1448    );
1449    pub fn _acb_poly_zeta_em_tail_bsplit(
1450        z: acb_ptr,
1451        s: *mut acb_struct,
1452        Na: *mut acb_struct,
1453        Nasx: acb_srcptr,
1454        M: mp_limb_signed_t,
1455        len: mp_limb_signed_t,
1456        prec: mp_limb_signed_t,
1457    );
1458    pub fn _acb_poly_zeta_cpx_series(
1459        z: acb_ptr,
1460        s: *mut acb_struct,
1461        a: *mut acb_struct,
1462        deflate: c_int,
1463        d: mp_limb_signed_t,
1464        prec: mp_limb_signed_t,
1465    );
1466    pub fn _acb_poly_zeta_series(
1467        res: acb_ptr,
1468        h: acb_srcptr,
1469        hlen: mp_limb_signed_t,
1470        a: *mut acb_struct,
1471        deflate: c_int,
1472        len: mp_limb_signed_t,
1473        prec: mp_limb_signed_t,
1474    );
1475    pub fn acb_poly_zeta_series(
1476        res: *mut acb_poly_struct,
1477        f: *mut acb_poly_struct,
1478        a: *mut acb_struct,
1479        deflate: c_int,
1480        n: mp_limb_signed_t,
1481        prec: mp_limb_signed_t,
1482    );
1483    pub fn _acb_poly_polylog_cpx_zeta(
1484        w: acb_ptr,
1485        s: *mut acb_struct,
1486        z: *mut acb_struct,
1487        len: mp_limb_signed_t,
1488        prec: mp_limb_signed_t,
1489    );
1490    pub fn _acb_poly_polylog_cpx_small(
1491        w: acb_ptr,
1492        s: *mut acb_struct,
1493        z: *mut acb_struct,
1494        len: mp_limb_signed_t,
1495        prec: mp_limb_signed_t,
1496    );
1497    pub fn _acb_poly_polylog_cpx(
1498        w: acb_ptr,
1499        s: *mut acb_struct,
1500        z: *mut acb_struct,
1501        len: mp_limb_signed_t,
1502        prec: mp_limb_signed_t,
1503    );
1504    pub fn _acb_poly_polylog_series(
1505        res: acb_ptr,
1506        s: acb_srcptr,
1507        slen: mp_limb_signed_t,
1508        z: *mut acb_struct,
1509        len: mp_limb_signed_t,
1510        prec: mp_limb_signed_t,
1511    );
1512    pub fn acb_poly_polylog_series(
1513        res: *mut acb_poly_struct,
1514        s: *mut acb_poly_struct,
1515        z: *mut acb_struct,
1516        n: mp_limb_signed_t,
1517        prec: mp_limb_signed_t,
1518    );
1519    pub fn _acb_poly_agm1_series(
1520        res: acb_ptr,
1521        z: acb_srcptr,
1522        zlen: mp_limb_signed_t,
1523        len: mp_limb_signed_t,
1524        prec: mp_limb_signed_t,
1525    );
1526    pub fn acb_poly_agm1_series(
1527        res: *mut acb_poly_struct,
1528        z: *mut acb_poly_struct,
1529        n: mp_limb_signed_t,
1530        prec: mp_limb_signed_t,
1531    );
1532    pub fn _acb_poly_elliptic_k_series(
1533        res: acb_ptr,
1534        z: acb_srcptr,
1535        zlen: mp_limb_signed_t,
1536        len: mp_limb_signed_t,
1537        prec: mp_limb_signed_t,
1538    );
1539    pub fn acb_poly_elliptic_k_series(
1540        res: *mut acb_poly_struct,
1541        z: *mut acb_poly_struct,
1542        n: mp_limb_signed_t,
1543        prec: mp_limb_signed_t,
1544    );
1545    pub fn _acb_poly_elliptic_p_series(
1546        res: acb_ptr,
1547        z: acb_srcptr,
1548        zlen: mp_limb_signed_t,
1549        tau: *mut acb_struct,
1550        len: mp_limb_signed_t,
1551        prec: mp_limb_signed_t,
1552    );
1553    pub fn acb_poly_elliptic_p_series(
1554        res: *mut acb_poly_struct,
1555        z: *mut acb_poly_struct,
1556        tau: *mut acb_struct,
1557        n: mp_limb_signed_t,
1558        prec: mp_limb_signed_t,
1559    );
1560    pub fn _acb_poly_erf_series(
1561        g: acb_ptr,
1562        h: acb_srcptr,
1563        hlen: mp_limb_signed_t,
1564        n: mp_limb_signed_t,
1565        prec: mp_limb_signed_t,
1566    );
1567    pub fn acb_poly_erf_series(
1568        g: *mut acb_poly_struct,
1569        h: *mut acb_poly_struct,
1570        n: mp_limb_signed_t,
1571        prec: mp_limb_signed_t,
1572    );
1573}