1#![allow(non_camel_case_types)]
2
3use crate::acb::{acb_srcptr, acb_struct};
6use crate::arb::*;
7use crate::arf::arf_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_poly::fmpz_poly_struct;
13use libc::{c_int, FILE};
14
15#[repr(C)]
16#[derive(Debug, Copy, Clone)]
17pub struct arb_poly_struct {
18 pub coeffs: arb_ptr,
19 pub length: mp_limb_signed_t,
20 pub alloc: mp_limb_signed_t,
21}
22
23pub type arb_poly_t = [arb_poly_struct; 1usize];
24
25extern "C" {
26 pub fn arb_poly_init(poly: *mut arb_poly_struct);
27 pub fn arb_poly_init2(poly: *mut arb_poly_struct, len: mp_limb_signed_t);
28 pub fn arb_poly_clear(poly: *mut arb_poly_struct);
29 pub fn arb_poly_fit_length(poly: *mut arb_poly_struct, len: mp_limb_signed_t);
30 pub fn _arb_poly_set_length(poly: *mut arb_poly_struct, len: mp_limb_signed_t);
31 pub fn _arb_poly_normalise(poly: *mut arb_poly_struct);
32 pub fn arb_poly_set(poly: *mut arb_poly_struct, src: *const arb_poly_struct);
33 pub fn arb_poly_set_round(
34 poly: *mut arb_poly_struct,
35 src: *const arb_poly_struct,
36 prec: mp_limb_signed_t,
37 );
38 pub fn arb_poly_set_trunc(
39 res: *mut arb_poly_struct,
40 poly: *const arb_poly_struct,
41 n: mp_limb_signed_t,
42 );
43 pub fn arb_poly_set_trunc_round(
44 res: *mut arb_poly_struct,
45 poly: *const arb_poly_struct,
46 n: mp_limb_signed_t,
47 prec: mp_limb_signed_t,
48 );
49 pub fn arb_poly_valuation(poly: *mut arb_poly_struct) -> mp_limb_signed_t;
50 pub fn arb_poly_set_coeff_si(
51 poly: *mut arb_poly_struct,
52 n: mp_limb_signed_t,
53 x: mp_limb_signed_t,
54 );
55 pub fn arb_poly_set_coeff_arb(
56 poly: *mut arb_poly_struct,
57 n: mp_limb_signed_t,
58 x: *const arb_struct,
59 );
60 pub fn arb_poly_get_coeff_arb(
61 x: *mut arb_struct,
62 poly: *const arb_poly_struct,
63 n: mp_limb_signed_t,
64 );
65 pub fn _arb_poly_reverse(
66 res: arb_ptr,
67 poly: arb_srcptr,
68 len: mp_limb_signed_t,
69 n: mp_limb_signed_t,
70 );
71 pub fn _arb_poly_shift_right(
72 res: arb_ptr,
73 poly: arb_srcptr,
74 len: mp_limb_signed_t,
75 n: mp_limb_signed_t,
76 );
77 pub fn arb_poly_shift_right(
78 res: *mut arb_poly_struct,
79 poly: *const arb_poly_struct,
80 n: mp_limb_signed_t,
81 );
82 pub fn _arb_poly_shift_left(
83 res: arb_ptr,
84 poly: arb_srcptr,
85 len: mp_limb_signed_t,
86 n: mp_limb_signed_t,
87 );
88 pub fn arb_poly_shift_left(
89 res: *mut arb_poly_struct,
90 poly: *const arb_poly_struct,
91 n: mp_limb_signed_t,
92 );
93 pub fn arb_poly_set_fmpz_poly(
94 poly: *mut arb_poly_struct,
95 src: *const fmpz_poly_struct,
96 prec: mp_limb_signed_t,
97 );
98 pub fn arb_poly_set_fmpq_poly(
99 poly: *mut arb_poly_struct,
100 src: *const fmpq_poly_struct,
101 prec: mp_limb_signed_t,
102 );
103 pub fn arb_poly_set_si(poly: *mut arb_poly_struct, c: mp_limb_signed_t);
104 pub fn arb_poly_get_unique_fmpz_poly(
105 res: *mut fmpz_poly_struct,
106 src: *const arb_poly_struct,
107 ) -> c_int;
108 pub fn arb_poly_contains(poly1: *const arb_poly_struct, poly2: *const arb_poly_struct)
109 -> c_int;
110 pub fn arb_poly_contains_fmpz_poly(
111 poly1: *const arb_poly_struct,
112 poly2: *const fmpz_poly_struct,
113 ) -> c_int;
114 pub fn arb_poly_contains_fmpq_poly(
115 poly1: *const arb_poly_struct,
116 poly2: *const fmpq_poly_struct,
117 ) -> c_int;
118 pub fn arb_poly_equal(A: *const arb_poly_struct, B: *const arb_poly_struct) -> c_int;
119 pub fn _arb_poly_overlaps(
120 poly1: arb_srcptr,
121 len1: mp_limb_signed_t,
122 poly2: arb_srcptr,
123 len2: mp_limb_signed_t,
124 ) -> c_int;
125 pub fn arb_poly_overlaps(poly1: *const arb_poly_struct, poly2: *const arb_poly_struct)
126 -> c_int;
127 pub fn _arb_poly_majorant(
128 res: arb_ptr,
129 vec: arb_srcptr,
130 len: mp_limb_signed_t,
131 prec: mp_limb_signed_t,
132 );
133 pub fn arb_poly_majorant(
134 res: *mut arb_poly_struct,
135 poly: *const arb_poly_struct,
136 prec: mp_limb_signed_t,
137 );
138 pub fn arb_poly_fprintd(
139 file: *mut FILE,
140 poly: *const arb_poly_struct,
141 digits: mp_limb_signed_t,
142 );
143 pub fn arb_poly_randtest(
144 poly: *mut arb_poly_struct,
145 state: *const flint_rand_s,
146 len: mp_limb_signed_t,
147 prec: mp_limb_signed_t,
148 mag_bits: mp_limb_signed_t,
149 );
150 pub fn _arb_poly_add(
151 res: arb_ptr,
152 poly1: arb_srcptr,
153 len1: mp_limb_signed_t,
154 poly2: arb_srcptr,
155 len2: mp_limb_signed_t,
156 prec: mp_limb_signed_t,
157 );
158 pub fn arb_poly_add(
159 res: *mut arb_poly_struct,
160 poly1: *const arb_poly_struct,
161 poly2: *const arb_poly_struct,
162 prec: mp_limb_signed_t,
163 );
164 pub fn arb_poly_add_si(
165 res: *mut arb_poly_struct,
166 poly: *const arb_poly_struct,
167 c: mp_limb_signed_t,
168 prec: mp_limb_signed_t,
169 );
170 pub fn _arb_poly_sub(
171 res: arb_ptr,
172 poly1: arb_srcptr,
173 len1: mp_limb_signed_t,
174 poly2: arb_srcptr,
175 len2: mp_limb_signed_t,
176 prec: mp_limb_signed_t,
177 );
178 pub fn arb_poly_sub(
179 res: *mut arb_poly_struct,
180 poly1: *const arb_poly_struct,
181 poly2: *const arb_poly_struct,
182 prec: mp_limb_signed_t,
183 );
184 pub fn arb_poly_add_series(
185 res: *mut arb_poly_struct,
186 poly1: *const arb_poly_struct,
187 poly2: *const arb_poly_struct,
188 len: mp_limb_signed_t,
189 prec: mp_limb_signed_t,
190 );
191 pub fn arb_poly_sub_series(
192 res: *mut arb_poly_struct,
193 poly1: *const arb_poly_struct,
194 poly2: *const arb_poly_struct,
195 len: mp_limb_signed_t,
196 prec: mp_limb_signed_t,
197 );
198 pub fn _arb_poly_mullow_ztrunc(
199 res: arb_ptr,
200 poly1: arb_srcptr,
201 len1: mp_limb_signed_t,
202 poly2: arb_srcptr,
203 len2: mp_limb_signed_t,
204 n: mp_limb_signed_t,
205 prec: mp_limb_signed_t,
206 );
207 pub fn arb_poly_mullow_ztrunc(
208 res: *mut arb_poly_struct,
209 poly1: *const arb_poly_struct,
210 poly2: *const arb_poly_struct,
211 n: mp_limb_signed_t,
212 prec: mp_limb_signed_t,
213 );
214 pub fn _arb_poly_mullow_classical(
215 res: arb_ptr,
216 poly1: arb_srcptr,
217 len1: mp_limb_signed_t,
218 poly2: arb_srcptr,
219 len2: mp_limb_signed_t,
220 n: mp_limb_signed_t,
221 prec: mp_limb_signed_t,
222 );
223 pub fn arb_poly_mullow_classical(
224 res: *mut arb_poly_struct,
225 poly1: *const arb_poly_struct,
226 poly2: *const arb_poly_struct,
227 n: mp_limb_signed_t,
228 prec: mp_limb_signed_t,
229 );
230 pub fn _arb_poly_mullow_block(
231 C: arb_ptr,
232 A: arb_srcptr,
233 lenA: mp_limb_signed_t,
234 B: arb_srcptr,
235 lenB: mp_limb_signed_t,
236 n: mp_limb_signed_t,
237 prec: mp_limb_signed_t,
238 );
239 pub fn arb_poly_mullow_block(
240 res: *mut arb_poly_struct,
241 poly1: *const arb_poly_struct,
242 poly2: *const arb_poly_struct,
243 len: mp_limb_signed_t,
244 prec: mp_limb_signed_t,
245 );
246 pub fn _arb_poly_mullow(
247 C: arb_ptr,
248 A: arb_srcptr,
249 lenA: mp_limb_signed_t,
250 B: arb_srcptr,
251 lenB: mp_limb_signed_t,
252 n: mp_limb_signed_t,
253 prec: mp_limb_signed_t,
254 );
255 pub fn arb_poly_mullow(
256 res: *mut arb_poly_struct,
257 poly1: *const arb_poly_struct,
258 poly2: *const arb_poly_struct,
259 len: mp_limb_signed_t,
260 prec: mp_limb_signed_t,
261 );
262 pub fn _arb_poly_mul(
263 C: arb_ptr,
264 A: arb_srcptr,
265 lenA: mp_limb_signed_t,
266 B: arb_srcptr,
267 lenB: mp_limb_signed_t,
268 prec: mp_limb_signed_t,
269 );
270 pub fn arb_poly_mul(
271 res: *mut arb_poly_struct,
272 poly1: *const arb_poly_struct,
273 poly2: *const arb_poly_struct,
274 prec: mp_limb_signed_t,
275 );
276 pub fn _arb_poly_inv_series(
277 Qinv: arb_ptr,
278 Q: arb_srcptr,
279 Qlen: mp_limb_signed_t,
280 len: mp_limb_signed_t,
281 prec: mp_limb_signed_t,
282 );
283 pub fn arb_poly_inv_series(
284 Qinv: *mut arb_poly_struct,
285 Q: *const arb_poly_struct,
286 n: mp_limb_signed_t,
287 prec: mp_limb_signed_t,
288 );
289 pub fn _arb_poly_div_series(
290 Q: arb_ptr,
291 A: arb_srcptr,
292 Alen: mp_limb_signed_t,
293 B: arb_srcptr,
294 Blen: mp_limb_signed_t,
295 n: mp_limb_signed_t,
296 prec: mp_limb_signed_t,
297 );
298 pub fn arb_poly_div_series(
299 Q: *mut arb_poly_struct,
300 A: *const arb_poly_struct,
301 B: *const arb_poly_struct,
302 n: mp_limb_signed_t,
303 prec: mp_limb_signed_t,
304 );
305 pub fn _arb_poly_div(
306 Q: arb_ptr,
307 A: arb_srcptr,
308 lenA: mp_limb_signed_t,
309 B: arb_srcptr,
310 lenB: mp_limb_signed_t,
311 prec: mp_limb_signed_t,
312 );
313 pub fn _arb_poly_divrem(
314 Q: arb_ptr,
315 R: arb_ptr,
316 A: arb_srcptr,
317 lenA: mp_limb_signed_t,
318 B: arb_srcptr,
319 lenB: mp_limb_signed_t,
320 prec: mp_limb_signed_t,
321 );
322 pub fn _arb_poly_rem(
323 R: arb_ptr,
324 A: arb_srcptr,
325 lenA: mp_limb_signed_t,
326 B: arb_srcptr,
327 lenB: mp_limb_signed_t,
328 prec: mp_limb_signed_t,
329 );
330 pub fn arb_poly_divrem(
331 Q: *mut arb_poly_struct,
332 R: *mut arb_poly_struct,
333 A: *const arb_poly_struct,
334 B: *const arb_poly_struct,
335 prec: mp_limb_signed_t,
336 ) -> c_int;
337 pub fn _arb_poly_div_root(
338 Q: arb_ptr,
339 R: *mut arb_struct,
340 A: arb_srcptr,
341 len: mp_limb_signed_t,
342 c: *const arb_struct,
343 prec: mp_limb_signed_t,
344 );
345 pub fn _arb_poly_product_roots(
346 poly: arb_ptr,
347 xs: arb_srcptr,
348 n: mp_limb_signed_t,
349 prec: mp_limb_signed_t,
350 );
351 pub fn arb_poly_product_roots(
352 poly: *mut arb_poly_struct,
353 xs: arb_srcptr,
354 n: mp_limb_signed_t,
355 prec: mp_limb_signed_t,
356 );
357 pub fn _arb_poly_product_roots_complex(
358 poly: arb_ptr,
359 r: arb_srcptr,
360 rn: mp_limb_signed_t,
361 c: acb_srcptr,
362 cn: mp_limb_signed_t,
363 prec: mp_limb_signed_t,
364 );
365 pub fn arb_poly_product_roots_complex(
366 poly: *mut arb_poly_struct,
367 r: arb_srcptr,
368 rn: mp_limb_signed_t,
369 c: acb_srcptr,
370 cn: mp_limb_signed_t,
371 prec: mp_limb_signed_t,
372 );
373 pub fn _arb_poly_tree_alloc(len: mp_limb_signed_t) -> *mut arb_ptr;
374 pub fn _arb_poly_tree_free(tree: *mut arb_ptr, len: mp_limb_signed_t);
375 pub fn _arb_poly_tree_build(
376 tree: *mut arb_ptr,
377 roots: arb_srcptr,
378 len: mp_limb_signed_t,
379 prec: mp_limb_signed_t,
380 );
381 pub fn _arb_poly_taylor_shift_horner(
382 poly: arb_ptr,
383 c: *mut arb_struct,
384 n: mp_limb_signed_t,
385 prec: mp_limb_signed_t,
386 );
387 pub fn arb_poly_taylor_shift_horner(
388 g: *mut arb_poly_struct,
389 f: *mut arb_poly_struct,
390 c: *mut arb_struct,
391 prec: mp_limb_signed_t,
392 );
393 pub fn _arb_poly_taylor_shift_divconquer(
394 poly: arb_ptr,
395 c: *mut arb_struct,
396 n: mp_limb_signed_t,
397 prec: mp_limb_signed_t,
398 );
399 pub fn arb_poly_taylor_shift_divconquer(
400 g: *mut arb_poly_struct,
401 f: *mut arb_poly_struct,
402 c: *mut arb_struct,
403 prec: mp_limb_signed_t,
404 );
405 pub fn _arb_poly_taylor_shift_convolution(
406 poly: arb_ptr,
407 c: *mut arb_struct,
408 n: mp_limb_signed_t,
409 prec: mp_limb_signed_t,
410 );
411 pub fn arb_poly_taylor_shift_convolution(
412 g: *mut arb_poly_struct,
413 f: *mut arb_poly_struct,
414 c: *mut arb_struct,
415 prec: mp_limb_signed_t,
416 );
417 pub fn _arb_poly_taylor_shift(
418 poly: arb_ptr,
419 c: *mut arb_struct,
420 n: mp_limb_signed_t,
421 prec: mp_limb_signed_t,
422 );
423 pub fn arb_poly_taylor_shift(
424 g: *mut arb_poly_struct,
425 f: *mut arb_poly_struct,
426 c: *mut arb_struct,
427 prec: mp_limb_signed_t,
428 );
429 pub fn _arb_poly_compose(
430 res: arb_ptr,
431 poly1: arb_srcptr,
432 len1: mp_limb_signed_t,
433 poly2: arb_srcptr,
434 len2: mp_limb_signed_t,
435 prec: mp_limb_signed_t,
436 );
437 pub fn arb_poly_compose(
438 res: *mut arb_poly_struct,
439 poly1: *mut arb_poly_struct,
440 poly2: *mut arb_poly_struct,
441 prec: mp_limb_signed_t,
442 );
443 pub fn _arb_poly_compose_horner(
444 res: arb_ptr,
445 poly1: arb_srcptr,
446 len1: mp_limb_signed_t,
447 poly2: arb_srcptr,
448 len2: mp_limb_signed_t,
449 prec: mp_limb_signed_t,
450 );
451 pub fn arb_poly_compose_horner(
452 res: *mut arb_poly_struct,
453 poly1: *mut arb_poly_struct,
454 poly2: *mut arb_poly_struct,
455 prec: mp_limb_signed_t,
456 );
457 pub fn _arb_poly_compose_divconquer(
458 res: arb_ptr,
459 poly1: arb_srcptr,
460 len1: mp_limb_signed_t,
461 poly2: arb_srcptr,
462 len2: mp_limb_signed_t,
463 prec: mp_limb_signed_t,
464 );
465 pub fn arb_poly_compose_divconquer(
466 res: *mut arb_poly_struct,
467 poly1: *mut arb_poly_struct,
468 poly2: *mut arb_poly_struct,
469 prec: mp_limb_signed_t,
470 );
471 pub fn _arb_poly_compose_series_horner(
472 res: arb_ptr,
473 poly1: arb_srcptr,
474 len1: mp_limb_signed_t,
475 poly2: arb_srcptr,
476 len2: mp_limb_signed_t,
477 n: mp_limb_signed_t,
478 prec: mp_limb_signed_t,
479 );
480 pub fn arb_poly_compose_series_horner(
481 res: *mut arb_poly_struct,
482 poly1: *mut arb_poly_struct,
483 poly2: *mut arb_poly_struct,
484 n: mp_limb_signed_t,
485 prec: mp_limb_signed_t,
486 );
487 pub fn _arb_poly_compose_series(
488 res: arb_ptr,
489 poly1: arb_srcptr,
490 len1: mp_limb_signed_t,
491 poly2: arb_srcptr,
492 len2: mp_limb_signed_t,
493 n: mp_limb_signed_t,
494 prec: mp_limb_signed_t,
495 );
496 pub fn arb_poly_compose_series(
497 res: *mut arb_poly_struct,
498 poly1: *mut arb_poly_struct,
499 poly2: *mut arb_poly_struct,
500 n: mp_limb_signed_t,
501 prec: mp_limb_signed_t,
502 );
503 pub fn _arb_poly_revert_series_lagrange(
504 Qinv: arb_ptr,
505 Q: arb_srcptr,
506 Qlen: mp_limb_signed_t,
507 n: mp_limb_signed_t,
508 prec: mp_limb_signed_t,
509 );
510 pub fn arb_poly_revert_series_lagrange(
511 Qinv: *mut arb_poly_struct,
512 Q: *mut arb_poly_struct,
513 n: mp_limb_signed_t,
514 prec: mp_limb_signed_t,
515 );
516 pub fn _arb_poly_revert_series_newton(
517 Qinv: arb_ptr,
518 Q: arb_srcptr,
519 Qlen: mp_limb_signed_t,
520 n: mp_limb_signed_t,
521 prec: mp_limb_signed_t,
522 );
523 pub fn arb_poly_revert_series_newton(
524 Qinv: *mut arb_poly_struct,
525 Q: *mut arb_poly_struct,
526 n: mp_limb_signed_t,
527 prec: mp_limb_signed_t,
528 );
529 pub fn _arb_poly_revert_series_lagrange_fast(
530 Qinv: arb_ptr,
531 Q: arb_srcptr,
532 Qlen: mp_limb_signed_t,
533 n: mp_limb_signed_t,
534 prec: mp_limb_signed_t,
535 );
536 pub fn arb_poly_revert_series_lagrange_fast(
537 Qinv: *mut arb_poly_struct,
538 Q: *mut arb_poly_struct,
539 n: mp_limb_signed_t,
540 prec: mp_limb_signed_t,
541 );
542 pub fn _arb_poly_revert_series(
543 Qinv: arb_ptr,
544 Q: arb_srcptr,
545 Qlen: mp_limb_signed_t,
546 n: mp_limb_signed_t,
547 prec: mp_limb_signed_t,
548 );
549 pub fn arb_poly_revert_series(
550 Qinv: *mut arb_poly_struct,
551 Q: *mut arb_poly_struct,
552 n: mp_limb_signed_t,
553 prec: mp_limb_signed_t,
554 );
555 pub fn _arb_poly_evaluate_horner(
556 res: *mut arb_struct,
557 f: arb_srcptr,
558 len: mp_limb_signed_t,
559 a: *mut arb_struct,
560 prec: mp_limb_signed_t,
561 );
562 pub fn arb_poly_evaluate_horner(
563 res: *mut arb_struct,
564 f: *mut arb_poly_struct,
565 a: *mut arb_struct,
566 prec: mp_limb_signed_t,
567 );
568 pub fn _arb_poly_evaluate_rectangular(
569 y: *mut arb_struct,
570 poly: arb_srcptr,
571 len: mp_limb_signed_t,
572 x: *mut arb_struct,
573 prec: mp_limb_signed_t,
574 );
575 pub fn arb_poly_evaluate_rectangular(
576 res: *mut arb_struct,
577 f: *mut arb_poly_struct,
578 a: *mut arb_struct,
579 prec: mp_limb_signed_t,
580 );
581 pub fn _arb_poly_evaluate(
582 res: *mut arb_struct,
583 f: arb_srcptr,
584 len: mp_limb_signed_t,
585 a: *const arb_struct,
586 prec: mp_limb_signed_t,
587 );
588 pub fn arb_poly_evaluate(
589 res: *mut arb_struct,
590 f: *mut arb_poly_struct,
591 a: *mut arb_struct,
592 prec: mp_limb_signed_t,
593 );
594 pub fn _arb_poly_evaluate2_horner(
595 y: *mut arb_struct,
596 z: *mut arb_struct,
597 f: arb_srcptr,
598 len: mp_limb_signed_t,
599 x: *mut arb_struct,
600 prec: mp_limb_signed_t,
601 );
602 pub fn arb_poly_evaluate2_horner(
603 y: *mut arb_struct,
604 z: *mut arb_struct,
605 f: *mut arb_poly_struct,
606 x: *mut arb_struct,
607 prec: mp_limb_signed_t,
608 );
609 pub fn _arb_poly_evaluate2_rectangular(
610 y: *mut arb_struct,
611 z: *mut arb_struct,
612 f: arb_srcptr,
613 len: mp_limb_signed_t,
614 x: *mut arb_struct,
615 prec: mp_limb_signed_t,
616 );
617 pub fn arb_poly_evaluate2_rectangular(
618 y: *mut arb_struct,
619 z: *mut arb_struct,
620 f: *mut arb_poly_struct,
621 x: *mut arb_struct,
622 prec: mp_limb_signed_t,
623 );
624 pub fn _arb_poly_evaluate2(
625 y: *mut arb_struct,
626 z: *mut arb_struct,
627 f: arb_srcptr,
628 len: mp_limb_signed_t,
629 x: *mut arb_struct,
630 prec: mp_limb_signed_t,
631 );
632 pub fn arb_poly_evaluate2(
633 y: *mut arb_struct,
634 z: *mut arb_struct,
635 f: *mut arb_poly_struct,
636 x: *mut arb_struct,
637 prec: mp_limb_signed_t,
638 );
639 pub fn _arb_poly_evaluate_vec_iter(
640 ys: arb_ptr,
641 poly: arb_srcptr,
642 plen: mp_limb_signed_t,
643 xs: arb_srcptr,
644 n: mp_limb_signed_t,
645 prec: mp_limb_signed_t,
646 );
647 pub fn arb_poly_evaluate_vec_iter(
648 ys: arb_ptr,
649 poly: *mut arb_poly_struct,
650 xs: arb_srcptr,
651 n: mp_limb_signed_t,
652 prec: mp_limb_signed_t,
653 );
654 pub fn _arb_poly_evaluate_vec_fast_precomp(
655 vs: arb_ptr,
656 poly: arb_srcptr,
657 plen: mp_limb_signed_t,
658 tree: *mut arb_ptr,
659 len: mp_limb_signed_t,
660 prec: mp_limb_signed_t,
661 );
662 pub fn _arb_poly_evaluate_vec_fast(
663 ys: arb_ptr,
664 poly: arb_srcptr,
665 plen: mp_limb_signed_t,
666 xs: arb_srcptr,
667 n: mp_limb_signed_t,
668 prec: mp_limb_signed_t,
669 );
670 pub fn arb_poly_evaluate_vec_fast(
671 ys: arb_ptr,
672 poly: *const arb_poly_struct,
673 xs: arb_srcptr,
674 n: mp_limb_signed_t,
675 prec: mp_limb_signed_t,
676 );
677 pub fn _arb_poly_interpolate_newton(
678 poly: arb_ptr,
679 xs: arb_srcptr,
680 ys: arb_srcptr,
681 n: mp_limb_signed_t,
682 prec: mp_limb_signed_t,
683 );
684 pub fn arb_poly_interpolate_newton(
685 poly: *mut arb_poly_struct,
686 xs: arb_srcptr,
687 ys: arb_srcptr,
688 n: mp_limb_signed_t,
689 prec: mp_limb_signed_t,
690 );
691 pub fn _arb_poly_interpolate_barycentric(
692 poly: arb_ptr,
693 xs: arb_srcptr,
694 ys: arb_srcptr,
695 n: mp_limb_signed_t,
696 prec: mp_limb_signed_t,
697 );
698 pub fn arb_poly_interpolate_barycentric(
699 poly: *mut arb_poly_struct,
700 xs: arb_srcptr,
701 ys: arb_srcptr,
702 n: mp_limb_signed_t,
703 prec: mp_limb_signed_t,
704 );
705 pub fn _arb_poly_interpolation_weights(
706 w: arb_ptr,
707 tree: *mut arb_ptr,
708 len: mp_limb_signed_t,
709 prec: mp_limb_signed_t,
710 );
711 pub fn _arb_poly_interpolate_fast_precomp(
712 poly: arb_ptr,
713 ys: arb_srcptr,
714 tree: *mut arb_ptr,
715 weights: arb_srcptr,
716 len: mp_limb_signed_t,
717 prec: mp_limb_signed_t,
718 );
719 pub fn _arb_poly_interpolate_fast(
720 poly: arb_ptr,
721 xs: arb_srcptr,
722 ys: arb_srcptr,
723 len: mp_limb_signed_t,
724 prec: mp_limb_signed_t,
725 );
726 pub fn arb_poly_interpolate_fast(
727 poly: *mut arb_poly_struct,
728 xs: arb_srcptr,
729 ys: arb_srcptr,
730 n: mp_limb_signed_t,
731 prec: mp_limb_signed_t,
732 );
733 pub fn _arb_poly_derivative(
734 res: arb_ptr,
735 poly: arb_srcptr,
736 len: mp_limb_signed_t,
737 prec: mp_limb_signed_t,
738 );
739 pub fn arb_poly_derivative(
740 res: *mut arb_poly_struct,
741 poly: *const arb_poly_struct,
742 prec: mp_limb_signed_t,
743 );
744 pub fn _arb_poly_integral(
745 res: arb_ptr,
746 poly: arb_srcptr,
747 len: mp_limb_signed_t,
748 prec: mp_limb_signed_t,
749 );
750 pub fn arb_poly_integral(
751 res: *mut arb_poly_struct,
752 poly: *const arb_poly_struct,
753 prec: mp_limb_signed_t,
754 );
755 pub fn arb_poly_borel_transform(
756 res: *mut arb_poly_struct,
757 poly: *const arb_poly_struct,
758 prec: mp_limb_signed_t,
759 );
760 pub fn _arb_poly_borel_transform(
761 res: arb_ptr,
762 poly: arb_srcptr,
763 len: mp_limb_signed_t,
764 prec: mp_limb_signed_t,
765 );
766 pub fn arb_poly_inv_borel_transform(
767 res: *mut arb_poly_struct,
768 poly: *const arb_poly_struct,
769 prec: mp_limb_signed_t,
770 );
771 pub fn _arb_poly_inv_borel_transform(
772 res: arb_ptr,
773 poly: arb_srcptr,
774 len: mp_limb_signed_t,
775 prec: mp_limb_signed_t,
776 );
777 pub fn _arb_poly_binomial_transform_basecase(
778 b: arb_ptr,
779 a: arb_srcptr,
780 alen: mp_limb_signed_t,
781 len: mp_limb_signed_t,
782 prec: mp_limb_signed_t,
783 );
784 pub fn arb_poly_binomial_transform_basecase(
785 b: *mut arb_poly_struct,
786 a: *const arb_poly_struct,
787 len: mp_limb_signed_t,
788 prec: mp_limb_signed_t,
789 );
790 pub fn _arb_poly_binomial_transform_convolution(
791 b: arb_ptr,
792 a: arb_srcptr,
793 alen: mp_limb_signed_t,
794 len: mp_limb_signed_t,
795 prec: mp_limb_signed_t,
796 );
797 pub fn arb_poly_binomial_transform_convolution(
798 b: *mut arb_poly_struct,
799 a: *const arb_poly_struct,
800 len: mp_limb_signed_t,
801 prec: mp_limb_signed_t,
802 );
803 pub fn _arb_poly_binomial_transform(
804 b: arb_ptr,
805 a: arb_srcptr,
806 alen: mp_limb_signed_t,
807 len: mp_limb_signed_t,
808 prec: mp_limb_signed_t,
809 );
810 pub fn arb_poly_binomial_transform(
811 b: *mut arb_poly_struct,
812 a: *const arb_poly_struct,
813 len: mp_limb_signed_t,
814 prec: mp_limb_signed_t,
815 );
816 pub fn _arb_poly_pow_ui_trunc_binexp(
817 res: arb_ptr,
818 f: arb_srcptr,
819 flen: mp_limb_signed_t,
820 exp: mp_limb_t,
821 len: mp_limb_signed_t,
822 prec: mp_limb_signed_t,
823 );
824 pub fn arb_poly_pow_ui_trunc_binexp(
825 res: *mut arb_poly_struct,
826 poly: *const arb_poly_struct,
827 exp: mp_limb_t,
828 len: mp_limb_signed_t,
829 prec: mp_limb_signed_t,
830 );
831 pub fn _arb_poly_pow_ui(
832 res: arb_ptr,
833 f: arb_srcptr,
834 flen: mp_limb_signed_t,
835 exp: mp_limb_t,
836 prec: mp_limb_signed_t,
837 );
838 pub fn arb_poly_pow_ui(
839 res: *mut arb_poly_struct,
840 poly: *const arb_poly_struct,
841 exp: mp_limb_t,
842 prec: mp_limb_signed_t,
843 );
844 pub fn _arb_poly_pow_series(
845 h: arb_ptr,
846 f: arb_srcptr,
847 flen: mp_limb_signed_t,
848 g: arb_srcptr,
849 glen: mp_limb_signed_t,
850 len: mp_limb_signed_t,
851 prec: mp_limb_signed_t,
852 );
853 pub fn arb_poly_pow_series(
854 h: *mut arb_poly_struct,
855 f: *const arb_poly_struct,
856 g: *const arb_poly_struct,
857 len: mp_limb_signed_t,
858 prec: mp_limb_signed_t,
859 );
860 pub fn _arb_poly_pow_arb_series(
861 h: arb_ptr,
862 f: arb_srcptr,
863 flen: mp_limb_signed_t,
864 g: *const arb_struct,
865 len: mp_limb_signed_t,
866 prec: mp_limb_signed_t,
867 );
868 pub fn arb_poly_pow_arb_series(
869 h: *mut arb_poly_struct,
870 f: *const arb_poly_struct,
871 g: *const arb_struct,
872 len: mp_limb_signed_t,
873 prec: mp_limb_signed_t,
874 );
875 pub fn _arb_poly_binomial_pow_arb_series(
876 h: arb_ptr,
877 f: arb_srcptr,
878 flen: mp_limb_signed_t,
879 g: *const arb_struct,
880 len: mp_limb_signed_t,
881 prec: mp_limb_signed_t,
882 );
883 pub fn _arb_poly_rsqrt_series(
884 g: arb_ptr,
885 h: arb_srcptr,
886 hlen: mp_limb_signed_t,
887 len: mp_limb_signed_t,
888 prec: mp_limb_signed_t,
889 );
890 pub fn arb_poly_rsqrt_series(
891 g: *mut arb_poly_struct,
892 h: *const arb_poly_struct,
893 n: mp_limb_signed_t,
894 prec: mp_limb_signed_t,
895 );
896 pub fn _arb_poly_sqrt_series(
897 g: arb_ptr,
898 h: arb_srcptr,
899 hlen: mp_limb_signed_t,
900 len: mp_limb_signed_t,
901 prec: mp_limb_signed_t,
902 );
903 pub fn arb_poly_sqrt_series(
904 g: *mut arb_poly_struct,
905 h: *const arb_poly_struct,
906 n: mp_limb_signed_t,
907 prec: mp_limb_signed_t,
908 );
909 pub fn _arb_poly_log_series(
910 res: arb_ptr,
911 f: arb_srcptr,
912 flen: mp_limb_signed_t,
913 n: mp_limb_signed_t,
914 prec: mp_limb_signed_t,
915 );
916 pub fn arb_poly_log_series(
917 res: *mut arb_poly_struct,
918 f: *const arb_poly_struct,
919 n: mp_limb_signed_t,
920 prec: mp_limb_signed_t,
921 );
922 pub fn _arb_poly_log1p_series(
923 res: arb_ptr,
924 f: arb_srcptr,
925 flen: mp_limb_signed_t,
926 n: mp_limb_signed_t,
927 prec: mp_limb_signed_t,
928 );
929 pub fn arb_poly_log1p_series(
930 res: *mut arb_poly_struct,
931 f: *const arb_poly_struct,
932 n: mp_limb_signed_t,
933 prec: mp_limb_signed_t,
934 );
935 pub fn _arb_poly_atan_series(
936 res: arb_ptr,
937 f: arb_srcptr,
938 flen: mp_limb_signed_t,
939 n: mp_limb_signed_t,
940 prec: mp_limb_signed_t,
941 );
942 pub fn arb_poly_atan_series(
943 res: *mut arb_poly_struct,
944 f: *const arb_poly_struct,
945 n: mp_limb_signed_t,
946 prec: mp_limb_signed_t,
947 );
948 pub fn _arb_poly_asin_series(
949 res: arb_ptr,
950 f: arb_srcptr,
951 flen: mp_limb_signed_t,
952 n: mp_limb_signed_t,
953 prec: mp_limb_signed_t,
954 );
955 pub fn arb_poly_asin_series(
956 res: *mut arb_poly_struct,
957 f: *const arb_poly_struct,
958 n: mp_limb_signed_t,
959 prec: mp_limb_signed_t,
960 );
961 pub fn _arb_poly_acos_series(
962 res: arb_ptr,
963 f: arb_srcptr,
964 flen: mp_limb_signed_t,
965 n: mp_limb_signed_t,
966 prec: mp_limb_signed_t,
967 );
968 pub fn arb_poly_acos_series(
969 res: *mut arb_poly_struct,
970 f: *const arb_poly_struct,
971 n: mp_limb_signed_t,
972 prec: mp_limb_signed_t,
973 );
974 pub fn _arb_poly_exp_series_basecase(
975 f: arb_ptr,
976 h: arb_srcptr,
977 hlen: mp_limb_signed_t,
978 n: mp_limb_signed_t,
979 prec: mp_limb_signed_t,
980 );
981 pub fn arb_poly_exp_series_basecase(
982 f: *mut arb_poly_struct,
983 h: *mut arb_poly_struct,
984 n: mp_limb_signed_t,
985 prec: mp_limb_signed_t,
986 );
987 pub fn _arb_poly_exp_series(
988 f: arb_ptr,
989 h: arb_srcptr,
990 hlen: mp_limb_signed_t,
991 n: mp_limb_signed_t,
992 prec: mp_limb_signed_t,
993 );
994 pub fn arb_poly_exp_series(
995 f: *mut arb_poly_struct,
996 h: *mut arb_poly_struct,
997 n: mp_limb_signed_t,
998 prec: mp_limb_signed_t,
999 );
1000 pub fn _arb_poly_sinh_cosh_series_basecase(
1001 s: arb_ptr,
1002 c: arb_ptr,
1003 h: arb_srcptr,
1004 hlen: mp_limb_signed_t,
1005 n: mp_limb_signed_t,
1006 prec: mp_limb_signed_t,
1007 );
1008 pub fn arb_poly_sinh_cosh_series_basecase(
1009 s: *mut arb_poly_struct,
1010 c: *mut arb_poly_struct,
1011 h: *mut arb_poly_struct,
1012 n: mp_limb_signed_t,
1013 prec: mp_limb_signed_t,
1014 );
1015 pub fn _arb_poly_sinh_cosh_series_exponential(
1016 s: arb_ptr,
1017 c: arb_ptr,
1018 h: arb_srcptr,
1019 hlen: mp_limb_signed_t,
1020 n: mp_limb_signed_t,
1021 prec: mp_limb_signed_t,
1022 );
1023 pub fn arb_poly_sinh_cosh_series_exponential(
1024 s: *mut arb_poly_struct,
1025 c: *mut arb_poly_struct,
1026 h: *mut arb_poly_struct,
1027 n: mp_limb_signed_t,
1028 prec: mp_limb_signed_t,
1029 );
1030 pub fn _arb_poly_sinh_cosh_series(
1031 s: arb_ptr,
1032 c: arb_ptr,
1033 h: arb_srcptr,
1034 hlen: mp_limb_signed_t,
1035 n: mp_limb_signed_t,
1036 prec: mp_limb_signed_t,
1037 );
1038 pub fn arb_poly_sinh_cosh_series(
1039 s: *mut arb_poly_struct,
1040 c: *mut arb_poly_struct,
1041 h: *mut arb_poly_struct,
1042 n: mp_limb_signed_t,
1043 prec: mp_limb_signed_t,
1044 );
1045 pub fn _arb_poly_sinh_series(
1046 s: arb_ptr,
1047 h: arb_srcptr,
1048 hlen: mp_limb_signed_t,
1049 n: mp_limb_signed_t,
1050 prec: mp_limb_signed_t,
1051 );
1052 pub fn arb_poly_sinh_series(
1053 s: *mut arb_poly_struct,
1054 h: *mut arb_poly_struct,
1055 n: mp_limb_signed_t,
1056 prec: mp_limb_signed_t,
1057 );
1058 pub fn _arb_poly_cosh_series(
1059 c: arb_ptr,
1060 h: arb_srcptr,
1061 hlen: mp_limb_signed_t,
1062 n: mp_limb_signed_t,
1063 prec: mp_limb_signed_t,
1064 );
1065 pub fn arb_poly_cosh_series(
1066 c: *mut arb_poly_struct,
1067 h: *mut arb_poly_struct,
1068 n: mp_limb_signed_t,
1069 prec: mp_limb_signed_t,
1070 );
1071 pub fn _arb_poly_sin_cos_series_basecase(
1072 s: arb_ptr,
1073 c: arb_ptr,
1074 h: arb_srcptr,
1075 hlen: mp_limb_signed_t,
1076 n: mp_limb_signed_t,
1077 prec: mp_limb_signed_t,
1078 times_pi: c_int,
1079 );
1080 pub fn arb_poly_sin_cos_series_basecase(
1081 s: *mut arb_poly_struct,
1082 c: *mut arb_poly_struct,
1083 h: *mut arb_poly_struct,
1084 n: mp_limb_signed_t,
1085 prec: mp_limb_signed_t,
1086 times_pi: c_int,
1087 );
1088 pub fn _arb_poly_sin_cos_series_tangent(
1089 s: arb_ptr,
1090 c: arb_ptr,
1091 h: arb_srcptr,
1092 hlen: mp_limb_signed_t,
1093 len: mp_limb_signed_t,
1094 prec: mp_limb_signed_t,
1095 times_pi: c_int,
1096 );
1097 pub fn arb_poly_sin_cos_series_tangent(
1098 s: *mut arb_poly_struct,
1099 c: *mut arb_poly_struct,
1100 h: *mut arb_poly_struct,
1101 n: mp_limb_signed_t,
1102 prec: mp_limb_signed_t,
1103 times_pi: c_int,
1104 );
1105 pub fn _arb_poly_sin_cos_series(
1106 s: arb_ptr,
1107 c: arb_ptr,
1108 h: arb_srcptr,
1109 hlen: mp_limb_signed_t,
1110 len: mp_limb_signed_t,
1111 prec: mp_limb_signed_t,
1112 );
1113 pub fn arb_poly_sin_cos_series(
1114 s: *mut arb_poly_struct,
1115 c: *mut arb_poly_struct,
1116 h: *mut arb_poly_struct,
1117 n: mp_limb_signed_t,
1118 prec: mp_limb_signed_t,
1119 );
1120 pub fn _arb_poly_sin_cos_pi_series(
1121 s: arb_ptr,
1122 c: arb_ptr,
1123 h: arb_srcptr,
1124 hlen: mp_limb_signed_t,
1125 len: mp_limb_signed_t,
1126 prec: mp_limb_signed_t,
1127 );
1128 pub fn arb_poly_sin_cos_pi_series(
1129 s: *mut arb_poly_struct,
1130 c: *mut arb_poly_struct,
1131 h: *mut arb_poly_struct,
1132 n: mp_limb_signed_t,
1133 prec: mp_limb_signed_t,
1134 );
1135 pub fn _arb_poly_sin_series(
1136 g: arb_ptr,
1137 h: arb_srcptr,
1138 hlen: mp_limb_signed_t,
1139 n: mp_limb_signed_t,
1140 prec: mp_limb_signed_t,
1141 );
1142 pub fn arb_poly_sin_series(
1143 g: *mut arb_poly_struct,
1144 h: *mut arb_poly_struct,
1145 n: mp_limb_signed_t,
1146 prec: mp_limb_signed_t,
1147 );
1148 pub fn _arb_poly_cos_series(
1149 g: arb_ptr,
1150 h: arb_srcptr,
1151 hlen: mp_limb_signed_t,
1152 n: mp_limb_signed_t,
1153 prec: mp_limb_signed_t,
1154 );
1155 pub fn arb_poly_cos_series(
1156 g: *mut arb_poly_struct,
1157 h: *mut arb_poly_struct,
1158 n: mp_limb_signed_t,
1159 prec: mp_limb_signed_t,
1160 );
1161 pub fn _arb_poly_sin_pi_series(
1162 g: arb_ptr,
1163 h: arb_srcptr,
1164 hlen: mp_limb_signed_t,
1165 n: mp_limb_signed_t,
1166 prec: mp_limb_signed_t,
1167 );
1168 pub fn arb_poly_sin_pi_series(
1169 g: *mut arb_poly_struct,
1170 h: *mut arb_poly_struct,
1171 n: mp_limb_signed_t,
1172 prec: mp_limb_signed_t,
1173 );
1174 pub fn _arb_poly_cos_pi_series(
1175 g: arb_ptr,
1176 h: arb_srcptr,
1177 hlen: mp_limb_signed_t,
1178 n: mp_limb_signed_t,
1179 prec: mp_limb_signed_t,
1180 );
1181 pub fn arb_poly_cos_pi_series(
1182 g: *mut arb_poly_struct,
1183 h: *mut arb_poly_struct,
1184 n: mp_limb_signed_t,
1185 prec: mp_limb_signed_t,
1186 );
1187 pub fn _arb_poly_cot_pi_series(
1188 g: arb_ptr,
1189 h: arb_srcptr,
1190 hlen: mp_limb_signed_t,
1191 n: mp_limb_signed_t,
1192 prec: mp_limb_signed_t,
1193 );
1194 pub fn arb_poly_cot_pi_series(
1195 g: *mut arb_poly_struct,
1196 h: *mut arb_poly_struct,
1197 n: mp_limb_signed_t,
1198 prec: mp_limb_signed_t,
1199 );
1200 pub fn _arb_poly_tan_series(
1201 g: arb_ptr,
1202 h: arb_srcptr,
1203 hlen: mp_limb_signed_t,
1204 len: mp_limb_signed_t,
1205 prec: mp_limb_signed_t,
1206 );
1207 pub fn arb_poly_tan_series(
1208 g: *mut arb_poly_struct,
1209 h: *mut arb_poly_struct,
1210 n: mp_limb_signed_t,
1211 prec: mp_limb_signed_t,
1212 );
1213 pub fn _arb_poly_sinc_series(
1214 g: arb_ptr,
1215 h: arb_srcptr,
1216 hlen: mp_limb_signed_t,
1217 n: mp_limb_signed_t,
1218 prec: mp_limb_signed_t,
1219 );
1220 pub fn arb_poly_sinc_series(
1221 g: *mut arb_poly_struct,
1222 h: *mut arb_poly_struct,
1223 n: mp_limb_signed_t,
1224 prec: mp_limb_signed_t,
1225 );
1226 pub fn _arb_poly_sinc_pi_series(
1227 g: arb_ptr,
1228 h: arb_srcptr,
1229 hlen: mp_limb_signed_t,
1230 n: mp_limb_signed_t,
1231 prec: mp_limb_signed_t,
1232 );
1233 pub fn arb_poly_sinc_pi_series(
1234 g: *mut arb_poly_struct,
1235 h: *mut arb_poly_struct,
1236 n: mp_limb_signed_t,
1237 prec: mp_limb_signed_t,
1238 );
1239 pub fn _arb_poly_compose_series_brent_kung(
1240 res: arb_ptr,
1241 poly1: arb_srcptr,
1242 len1: mp_limb_signed_t,
1243 poly2: arb_srcptr,
1244 len2: mp_limb_signed_t,
1245 n: mp_limb_signed_t,
1246 prec: mp_limb_signed_t,
1247 );
1248 pub fn arb_poly_compose_series_brent_kung(
1249 res: *mut arb_poly_struct,
1250 poly1: *mut arb_poly_struct,
1251 poly2: *mut arb_poly_struct,
1252 n: mp_limb_signed_t,
1253 prec: mp_limb_signed_t,
1254 );
1255 pub fn _arb_poly_evaluate_acb_horner(
1256 res: *mut acb_struct,
1257 f: arb_srcptr,
1258 len: mp_limb_signed_t,
1259 x: *mut acb_struct,
1260 prec: mp_limb_signed_t,
1261 );
1262 pub fn arb_poly_evaluate_acb_horner(
1263 res: *mut acb_struct,
1264 f: *mut arb_poly_struct,
1265 a: *mut acb_struct,
1266 prec: mp_limb_signed_t,
1267 );
1268 pub fn _arb_poly_evaluate_acb_rectangular(
1269 y: *mut acb_struct,
1270 poly: arb_srcptr,
1271 len: mp_limb_signed_t,
1272 x: *mut acb_struct,
1273 prec: mp_limb_signed_t,
1274 );
1275 pub fn arb_poly_evaluate_acb_rectangular(
1276 res: *mut acb_struct,
1277 f: *mut arb_poly_struct,
1278 a: *mut acb_struct,
1279 prec: mp_limb_signed_t,
1280 );
1281 pub fn _arb_poly_evaluate_acb(
1282 res: *mut acb_struct,
1283 f: arb_srcptr,
1284 len: mp_limb_signed_t,
1285 x: *mut acb_struct,
1286 prec: mp_limb_signed_t,
1287 );
1288 pub fn arb_poly_evaluate_acb(
1289 res: *mut acb_struct,
1290 f: *mut arb_poly_struct,
1291 a: *mut acb_struct,
1292 prec: mp_limb_signed_t,
1293 );
1294 pub fn _arb_poly_evaluate2_acb_horner(
1295 y: *mut acb_struct,
1296 z: *mut acb_struct,
1297 f: arb_srcptr,
1298 len: mp_limb_signed_t,
1299 x: *mut acb_struct,
1300 prec: mp_limb_signed_t,
1301 );
1302 pub fn arb_poly_evaluate2_acb_horner(
1303 y: *mut acb_struct,
1304 z: *mut acb_struct,
1305 f: *mut arb_poly_struct,
1306 x: *mut acb_struct,
1307 prec: mp_limb_signed_t,
1308 );
1309 pub fn _arb_poly_evaluate2_acb_rectangular(
1310 y: *mut acb_struct,
1311 z: *mut acb_struct,
1312 f: arb_srcptr,
1313 len: mp_limb_signed_t,
1314 x: *mut acb_struct,
1315 prec: mp_limb_signed_t,
1316 );
1317 pub fn arb_poly_evaluate2_acb_rectangular(
1318 y: *mut acb_struct,
1319 z: *mut acb_struct,
1320 f: *mut arb_poly_struct,
1321 x: *mut acb_struct,
1322 prec: mp_limb_signed_t,
1323 );
1324 pub fn _arb_poly_evaluate2_acb(
1325 y: *mut acb_struct,
1326 z: *mut acb_struct,
1327 f: arb_srcptr,
1328 len: mp_limb_signed_t,
1329 x: *mut acb_struct,
1330 prec: mp_limb_signed_t,
1331 );
1332 pub fn arb_poly_evaluate2_acb(
1333 y: *mut acb_struct,
1334 z: *mut acb_struct,
1335 f: *mut arb_poly_struct,
1336 x: *mut acb_struct,
1337 prec: mp_limb_signed_t,
1338 );
1339 pub fn _arb_poly_lambertw_series(
1340 res: arb_ptr,
1341 z: arb_srcptr,
1342 zlen: mp_limb_signed_t,
1343 flags: c_int,
1344 len: mp_limb_signed_t,
1345 prec: mp_limb_signed_t,
1346 );
1347 pub fn arb_poly_lambertw_series(
1348 res: *mut arb_poly_struct,
1349 z: *mut arb_poly_struct,
1350 flags: c_int,
1351 len: mp_limb_signed_t,
1352 prec: mp_limb_signed_t,
1353 );
1354 pub fn _arb_poly_gamma_series(
1355 res: arb_ptr,
1356 h: arb_srcptr,
1357 hlen: mp_limb_signed_t,
1358 len: mp_limb_signed_t,
1359 prec: mp_limb_signed_t,
1360 );
1361 pub fn arb_poly_gamma_series(
1362 res: *mut arb_poly_struct,
1363 f: *mut arb_poly_struct,
1364 n: mp_limb_signed_t,
1365 prec: mp_limb_signed_t,
1366 );
1367 pub fn _arb_poly_rgamma_series(
1368 res: arb_ptr,
1369 h: arb_srcptr,
1370 hlen: mp_limb_signed_t,
1371 len: mp_limb_signed_t,
1372 prec: mp_limb_signed_t,
1373 );
1374 pub fn arb_poly_rgamma_series(
1375 res: *mut arb_poly_struct,
1376 f: *mut arb_poly_struct,
1377 n: mp_limb_signed_t,
1378 prec: mp_limb_signed_t,
1379 );
1380 pub fn _arb_poly_lgamma_series(
1381 res: arb_ptr,
1382 h: arb_srcptr,
1383 hlen: mp_limb_signed_t,
1384 len: mp_limb_signed_t,
1385 prec: mp_limb_signed_t,
1386 );
1387 pub fn arb_poly_lgamma_series(
1388 res: *mut arb_poly_struct,
1389 f: *mut arb_poly_struct,
1390 n: mp_limb_signed_t,
1391 prec: mp_limb_signed_t,
1392 );
1393 pub fn _arb_poly_digamma_series(
1394 res: arb_ptr,
1395 h: arb_srcptr,
1396 hlen: mp_limb_signed_t,
1397 len: mp_limb_signed_t,
1398 prec: mp_limb_signed_t,
1399 );
1400 pub fn arb_poly_digamma_series(
1401 res: *mut arb_poly_struct,
1402 f: *mut arb_poly_struct,
1403 n: mp_limb_signed_t,
1404 prec: mp_limb_signed_t,
1405 );
1406 pub fn _arb_poly_rising_ui_series(
1407 res: arb_ptr,
1408 f: arb_srcptr,
1409 flen: mp_limb_signed_t,
1410 r: mp_limb_t,
1411 trunc: mp_limb_signed_t,
1412 prec: mp_limb_signed_t,
1413 );
1414 pub fn arb_poly_rising_ui_series(
1415 res: *mut arb_poly_struct,
1416 f: *mut arb_poly_struct,
1417 r: mp_limb_t,
1418 trunc: mp_limb_signed_t,
1419 prec: mp_limb_signed_t,
1420 );
1421 pub fn _arb_poly_zeta_series(
1422 res: arb_ptr,
1423 h: arb_srcptr,
1424 hlen: mp_limb_signed_t,
1425 a: *mut arb_struct,
1426 deflate: c_int,
1427 len: mp_limb_signed_t,
1428 prec: mp_limb_signed_t,
1429 );
1430 pub fn arb_poly_zeta_series(
1431 res: *mut arb_poly_struct,
1432 f: *mut arb_poly_struct,
1433 a: *mut arb_struct,
1434 deflate: c_int,
1435 n: mp_limb_signed_t,
1436 prec: mp_limb_signed_t,
1437 );
1438 pub fn _arb_poly_riemann_siegel_theta_series(
1439 res: arb_ptr,
1440 h: arb_srcptr,
1441 hlen: mp_limb_signed_t,
1442 len: mp_limb_signed_t,
1443 prec: mp_limb_signed_t,
1444 );
1445 pub fn arb_poly_riemann_siegel_theta_series(
1446 res: *mut arb_poly_struct,
1447 h: *mut arb_poly_struct,
1448 n: mp_limb_signed_t,
1449 prec: mp_limb_signed_t,
1450 );
1451 pub fn _arb_poly_riemann_siegel_z_series(
1452 res: arb_ptr,
1453 h: arb_srcptr,
1454 hlen: mp_limb_signed_t,
1455 len: mp_limb_signed_t,
1456 prec: mp_limb_signed_t,
1457 );
1458 pub fn arb_poly_riemann_siegel_z_series(
1459 res: *mut arb_poly_struct,
1460 h: *mut arb_poly_struct,
1461 n: mp_limb_signed_t,
1462 prec: mp_limb_signed_t,
1463 );
1464 pub fn _arb_poly_swinnerton_dyer_ui_prec(n: mp_limb_t) -> mp_limb_signed_t;
1465 pub fn _arb_poly_swinnerton_dyer_ui(
1466 T: arb_ptr,
1467 n: mp_limb_t,
1468 trunc: mp_limb_signed_t,
1469 prec: mp_limb_signed_t,
1470 );
1471 pub fn arb_poly_swinnerton_dyer_ui(
1472 poly: *mut arb_poly_struct,
1473 n: mp_limb_t,
1474 prec: mp_limb_signed_t,
1475 );
1476 pub fn _arb_poly_newton_convergence_factor(
1477 convergence_factor: *mut arf_struct,
1478 poly: arb_srcptr,
1479 len: mp_limb_signed_t,
1480 convergence_interval: *mut arb_struct,
1481 prec: mp_limb_signed_t,
1482 );
1483 pub fn _arb_poly_newton_step(
1484 xnew: *mut arb_struct,
1485 poly: arb_srcptr,
1486 len: mp_limb_signed_t,
1487 x: *mut arb_struct,
1488 convergence_interval: *mut arb_struct,
1489 convergence_factor: *mut arf_struct,
1490 prec: mp_limb_signed_t,
1491 ) -> c_int;
1492 pub fn _arb_poly_newton_refine_root(
1493 r: *mut arb_struct,
1494 poly: arb_srcptr,
1495 len: mp_limb_signed_t,
1496 start: *mut arb_struct,
1497 convergence_interval: *mut arb_struct,
1498 convergence_factor: *mut arf_struct,
1499 eval_extra_prec: mp_limb_signed_t,
1500 prec: mp_limb_signed_t,
1501 );
1502 pub fn _arb_poly_root_bound_fujiwara(
1503 bound: *mut mag_struct,
1504 poly: arb_srcptr,
1505 len: mp_limb_signed_t,
1506 );
1507 pub fn arb_poly_root_bound_fujiwara(bound: *mut mag_struct, poly: *mut arb_poly_struct);
1508}
1509
1510pub unsafe fn arb_poly_length(poly: *const arb_poly_struct) -> mp_limb_signed_t {
1511 (*poly).length
1512}
1513
1514pub unsafe fn arb_poly_degree(poly: *const arb_poly_struct) -> mp_limb_signed_t {
1515 (*poly).length - 1
1516}
1517
1518pub unsafe fn arb_poly_is_zero(poly: *const arb_poly_struct) -> bool {
1519 (*poly).length == 0
1520}
1521
1522pub unsafe fn arb_poly_is_one(poly: *const arb_poly_struct) -> bool {
1523 ((*poly).length == 1) && (arb_is_one((*poly).coeffs) != 0)
1524}
1525
1526