arb_sys/
arb_hypgeom.rs

1#![allow(non_camel_case_types)]
2
3//! *See the [Arb documentation](https://arblib.org/).
4
5use crate::arb::{arb_ptr, arb_srcptr, arb_struct};
6use crate::arb_poly::arb_poly_struct;
7use crate::mag::mag_struct;
8use flint_sys::deps::*;
9use flint_sys::fmpz::fmpz;
10
11extern "C" {
12    pub fn _arb_hypgeom_rising_coeffs_1(c: *mut mp_limb_t, k: mp_limb_t, l: mp_limb_signed_t);
13    pub fn _arb_hypgeom_rising_coeffs_2(c: *mut mp_limb_t, k: mp_limb_t, l: mp_limb_signed_t);
14    pub fn _arb_hypgeom_rising_coeffs_fmpz(c: *mut fmpz, k: mp_limb_t, l: mp_limb_signed_t);
15    pub fn arb_hypgeom_rising_ui_forward(
16        res: *mut arb_struct,
17        x: *mut arb_struct,
18        n: mp_limb_t,
19        prec: mp_limb_signed_t,
20    );
21    pub fn arb_hypgeom_rising_ui_rs(
22        res: *mut arb_struct,
23        x: *mut arb_struct,
24        n: mp_limb_t,
25        m: mp_limb_t,
26        prec: mp_limb_signed_t,
27    );
28    pub fn arb_hypgeom_rising_ui_bs(
29        res: *mut arb_struct,
30        x: *mut arb_struct,
31        n: mp_limb_t,
32        prec: mp_limb_signed_t,
33    );
34    pub fn arb_hypgeom_rising_ui_rec(
35        res: *mut arb_struct,
36        x: *mut arb_struct,
37        n: mp_limb_t,
38        prec: mp_limb_signed_t,
39    );
40    pub fn arb_hypgeom_rising_ui(
41        y: *mut arb_struct,
42        x: *mut arb_struct,
43        n: mp_limb_t,
44        prec: mp_limb_signed_t,
45    );
46    pub fn arb_hypgeom_rising(
47        y: *mut arb_struct,
48        x: *mut arb_struct,
49        n: *mut arb_struct,
50        prec: mp_limb_signed_t,
51    );
52    pub fn arb_hypgeom_rising_ui_jet_powsum(
53        res: arb_ptr,
54        x: *mut arb_struct,
55        n: mp_limb_t,
56        len: mp_limb_signed_t,
57        prec: mp_limb_signed_t,
58    );
59    pub fn arb_hypgeom_rising_ui_jet_rs(
60        res: arb_ptr,
61        x: *mut arb_struct,
62        n: mp_limb_t,
63        m: mp_limb_t,
64        len: mp_limb_signed_t,
65        prec: mp_limb_signed_t,
66    );
67    pub fn arb_hypgeom_rising_ui_jet_bs(
68        res: arb_ptr,
69        x: *mut arb_struct,
70        n: mp_limb_t,
71        len: mp_limb_signed_t,
72        prec: mp_limb_signed_t,
73    );
74    pub fn arb_hypgeom_rising_ui_jet(
75        res: arb_ptr,
76        x: *mut arb_struct,
77        n: mp_limb_t,
78        len: mp_limb_signed_t,
79        prec: mp_limb_signed_t,
80    );
81    pub fn arb_hypgeom_pfq(
82        res: *mut arb_struct,
83        a: arb_srcptr,
84        p: mp_limb_signed_t,
85        b: arb_srcptr,
86        q: mp_limb_signed_t,
87        z: *mut arb_struct,
88        regularized: ::std::os::raw::c_int,
89        prec: mp_limb_signed_t,
90    );
91    pub fn arb_hypgeom_0f1(
92        res: *mut arb_struct,
93        a: *mut arb_struct,
94        z: *mut arb_struct,
95        regularized: ::std::os::raw::c_int,
96        prec: mp_limb_signed_t,
97    );
98    pub fn arb_hypgeom_m(
99        res: *mut arb_struct,
100        a: *mut arb_struct,
101        b: *mut arb_struct,
102        z: *mut arb_struct,
103        regularized: ::std::os::raw::c_int,
104        prec: mp_limb_signed_t,
105    );
106    pub fn arb_hypgeom_1f1(
107        res: *mut arb_struct,
108        a: *mut arb_struct,
109        b: *mut arb_struct,
110        z: *mut arb_struct,
111        regularized: ::std::os::raw::c_int,
112        prec: mp_limb_signed_t,
113    );
114    pub fn arb_hypgeom_u(
115        res: *mut arb_struct,
116        a: *mut arb_struct,
117        b: *mut arb_struct,
118        z: *mut arb_struct,
119        prec: mp_limb_signed_t,
120    );
121    pub fn arb_hypgeom_2f1(
122        res: *mut arb_struct,
123        a: *mut arb_struct,
124        b: *mut arb_struct,
125        c: *mut arb_struct,
126        z: *mut arb_struct,
127        regularized: ::std::os::raw::c_int,
128        prec: mp_limb_signed_t,
129    );
130    pub fn arb_hypgeom_erf(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
131    pub fn _arb_hypgeom_erf_series(
132        g: arb_ptr,
133        h: arb_srcptr,
134        hlen: mp_limb_signed_t,
135        len: mp_limb_signed_t,
136        prec: mp_limb_signed_t,
137    );
138    pub fn arb_hypgeom_erf_series(
139        g: *mut arb_poly_struct,
140        h: *mut arb_poly_struct,
141        len: mp_limb_signed_t,
142        prec: mp_limb_signed_t,
143    );
144    pub fn arb_hypgeom_erfc(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
145    pub fn _arb_hypgeom_erfc_series(
146        g: arb_ptr,
147        h: arb_srcptr,
148        hlen: mp_limb_signed_t,
149        len: mp_limb_signed_t,
150        prec: mp_limb_signed_t,
151    );
152    pub fn arb_hypgeom_erfc_series(
153        g: *mut arb_poly_struct,
154        h: *mut arb_poly_struct,
155        len: mp_limb_signed_t,
156        prec: mp_limb_signed_t,
157    );
158    pub fn arb_hypgeom_erfi(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
159    pub fn _arb_hypgeom_erfi_series(
160        g: arb_ptr,
161        h: arb_srcptr,
162        hlen: mp_limb_signed_t,
163        len: mp_limb_signed_t,
164        prec: mp_limb_signed_t,
165    );
166    pub fn arb_hypgeom_erfi_series(
167        g: *mut arb_poly_struct,
168        h: *mut arb_poly_struct,
169        len: mp_limb_signed_t,
170        prec: mp_limb_signed_t,
171    );
172    pub fn arb_hypgeom_fresnel(
173        res1: *mut arb_struct,
174        res2: *mut arb_struct,
175        z: *mut arb_struct,
176        normalized: ::std::os::raw::c_int,
177        prec: mp_limb_signed_t,
178    );
179    pub fn _arb_hypgeom_fresnel_series(
180        s: arb_ptr,
181        c: arb_ptr,
182        h: arb_srcptr,
183        hlen: mp_limb_signed_t,
184        normalized: ::std::os::raw::c_int,
185        len: mp_limb_signed_t,
186        prec: mp_limb_signed_t,
187    );
188    pub fn arb_hypgeom_fresnel_series(
189        s: *mut arb_poly_struct,
190        c: *mut arb_poly_struct,
191        h: *mut arb_poly_struct,
192        normalized: ::std::os::raw::c_int,
193        len: mp_limb_signed_t,
194        prec: mp_limb_signed_t,
195    );
196    pub fn arb_hypgeom_ei(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
197    pub fn _arb_hypgeom_ei_series(
198        g: arb_ptr,
199        h: arb_srcptr,
200        hlen: mp_limb_signed_t,
201        len: mp_limb_signed_t,
202        prec: mp_limb_signed_t,
203    );
204    pub fn arb_hypgeom_ei_series(
205        g: *mut arb_poly_struct,
206        h: *mut arb_poly_struct,
207        len: mp_limb_signed_t,
208        prec: mp_limb_signed_t,
209    );
210    pub fn arb_hypgeom_si(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
211    pub fn _arb_hypgeom_si_series(
212        g: arb_ptr,
213        h: arb_srcptr,
214        hlen: mp_limb_signed_t,
215        len: mp_limb_signed_t,
216        prec: mp_limb_signed_t,
217    );
218    pub fn arb_hypgeom_si_series(
219        g: *mut arb_poly_struct,
220        h: *mut arb_poly_struct,
221        len: mp_limb_signed_t,
222        prec: mp_limb_signed_t,
223    );
224    pub fn arb_hypgeom_ci(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
225    pub fn _arb_hypgeom_ci_series(
226        g: arb_ptr,
227        h: arb_srcptr,
228        hlen: mp_limb_signed_t,
229        len: mp_limb_signed_t,
230        prec: mp_limb_signed_t,
231    );
232    pub fn arb_hypgeom_ci_series(
233        g: *mut arb_poly_struct,
234        h: *mut arb_poly_struct,
235        len: mp_limb_signed_t,
236        prec: mp_limb_signed_t,
237    );
238    pub fn arb_hypgeom_shi(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
239    pub fn _arb_hypgeom_shi_series(
240        g: arb_ptr,
241        h: arb_srcptr,
242        hlen: mp_limb_signed_t,
243        len: mp_limb_signed_t,
244        prec: mp_limb_signed_t,
245    );
246    pub fn arb_hypgeom_shi_series(
247        g: *mut arb_poly_struct,
248        h: *mut arb_poly_struct,
249        len: mp_limb_signed_t,
250        prec: mp_limb_signed_t,
251    );
252    pub fn arb_hypgeom_chi(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
253    pub fn _arb_hypgeom_chi_series(
254        g: arb_ptr,
255        h: arb_srcptr,
256        hlen: mp_limb_signed_t,
257        len: mp_limb_signed_t,
258        prec: mp_limb_signed_t,
259    );
260    pub fn arb_hypgeom_chi_series(
261        g: *mut arb_poly_struct,
262        h: *mut arb_poly_struct,
263        len: mp_limb_signed_t,
264        prec: mp_limb_signed_t,
265    );
266    pub fn arb_hypgeom_li(
267        res: *mut arb_struct,
268        z: *mut arb_struct,
269        offset: ::std::os::raw::c_int,
270        prec: mp_limb_signed_t,
271    );
272    pub fn _arb_hypgeom_li_series(
273        g: arb_ptr,
274        h: arb_srcptr,
275        hlen: mp_limb_signed_t,
276        offset: ::std::os::raw::c_int,
277        len: mp_limb_signed_t,
278        prec: mp_limb_signed_t,
279    );
280    pub fn arb_hypgeom_li_series(
281        g: *mut arb_poly_struct,
282        h: *mut arb_poly_struct,
283        offset: ::std::os::raw::c_int,
284        len: mp_limb_signed_t,
285        prec: mp_limb_signed_t,
286    );
287    pub fn arb_hypgeom_bessel_j(
288        res: *mut arb_struct,
289        nu: *mut arb_struct,
290        z: *mut arb_struct,
291        prec: mp_limb_signed_t,
292    );
293    pub fn arb_hypgeom_bessel_y(
294        res: *mut arb_struct,
295        nu: *mut arb_struct,
296        z: *mut arb_struct,
297        prec: mp_limb_signed_t,
298    );
299    pub fn arb_hypgeom_bessel_jy(
300        res1: *mut arb_struct,
301        res2: *mut arb_struct,
302        nu: *mut arb_struct,
303        z: *mut arb_struct,
304        prec: mp_limb_signed_t,
305    );
306    pub fn arb_hypgeom_bessel_i(
307        res: *mut arb_struct,
308        nu: *mut arb_struct,
309        z: *mut arb_struct,
310        prec: mp_limb_signed_t,
311    );
312    pub fn arb_hypgeom_bessel_k(
313        res: *mut arb_struct,
314        nu: *mut arb_struct,
315        z: *mut arb_struct,
316        prec: mp_limb_signed_t,
317    );
318    pub fn arb_hypgeom_bessel_i_scaled(
319        res: *mut arb_struct,
320        nu: *mut arb_struct,
321        z: *mut arb_struct,
322        prec: mp_limb_signed_t,
323    );
324    pub fn arb_hypgeom_bessel_k_scaled(
325        res: *mut arb_struct,
326        nu: *mut arb_struct,
327        z: *mut arb_struct,
328        prec: mp_limb_signed_t,
329    );
330    pub fn arb_hypgeom_airy(
331        ai: *mut arb_struct,
332        aip: *mut arb_struct,
333        bi: *mut arb_struct,
334        bip: *mut arb_struct,
335        z: *mut arb_struct,
336        prec: mp_limb_signed_t,
337    );
338    pub fn arb_hypgeom_airy_jet(
339        ai: arb_ptr,
340        bi: arb_ptr,
341        z: *mut arb_struct,
342        len: mp_limb_signed_t,
343        prec: mp_limb_signed_t,
344    );
345    pub fn arb_hypgeom_airy_series(
346        ai: *mut arb_poly_struct,
347        ai_prime: *mut arb_poly_struct,
348        bi: *mut arb_poly_struct,
349        bi_prime: *mut arb_poly_struct,
350        z: *mut arb_poly_struct,
351        len: mp_limb_signed_t,
352        prec: mp_limb_signed_t,
353    );
354    pub fn _arb_hypgeom_airy_series(
355        ai: arb_ptr,
356        ai_prime: arb_ptr,
357        bi: arb_ptr,
358        bi_prime: arb_ptr,
359        z: arb_srcptr,
360        zlen: mp_limb_signed_t,
361        len: mp_limb_signed_t,
362        prec: mp_limb_signed_t,
363    );
364    pub fn arb_hypgeom_airy_zero(
365        ai: *mut arb_struct,
366        aip: *mut arb_struct,
367        bi: *mut arb_struct,
368        bip: *mut arb_struct,
369        n: *mut fmpz,
370        prec: mp_limb_signed_t,
371    );
372    pub fn arb_hypgeom_coulomb(
373        F: *mut arb_struct,
374        G: *mut arb_struct,
375        l: *mut arb_struct,
376        eta: *mut arb_struct,
377        z: *mut arb_struct,
378        prec: mp_limb_signed_t,
379    );
380    pub fn arb_hypgeom_coulomb_jet(
381        F: arb_ptr,
382        G: arb_ptr,
383        l: *mut arb_struct,
384        eta: *mut arb_struct,
385        z: *mut arb_struct,
386        len: mp_limb_signed_t,
387        prec: mp_limb_signed_t,
388    );
389    pub fn _arb_hypgeom_coulomb_series(
390        F: arb_ptr,
391        G: arb_ptr,
392        l: *mut arb_struct,
393        eta: *mut arb_struct,
394        z: arb_srcptr,
395        zlen: mp_limb_signed_t,
396        len: mp_limb_signed_t,
397        prec: mp_limb_signed_t,
398    );
399    pub fn arb_hypgeom_coulomb_series(
400        F: *mut arb_poly_struct,
401        G: *mut arb_poly_struct,
402        l: *mut arb_struct,
403        eta: *mut arb_struct,
404        z: *mut arb_poly_struct,
405        len: mp_limb_signed_t,
406        prec: mp_limb_signed_t,
407    );
408    pub fn arb_hypgeom_expint(
409        res: *mut arb_struct,
410        s: *mut arb_struct,
411        z: *mut arb_struct,
412        prec: mp_limb_signed_t,
413    );
414    pub fn arb_hypgeom_gamma_lower(
415        res: *mut arb_struct,
416        s: *mut arb_struct,
417        z: *mut arb_struct,
418        regularized: ::std::os::raw::c_int,
419        prec: mp_limb_signed_t,
420    );
421    pub fn _arb_hypgeom_gamma_lower_series(
422        g: arb_ptr,
423        s: *mut arb_struct,
424        h: arb_srcptr,
425        hlen: mp_limb_signed_t,
426        regularized: ::std::os::raw::c_int,
427        n: mp_limb_signed_t,
428        prec: mp_limb_signed_t,
429    );
430    pub fn arb_hypgeom_gamma_lower_series(
431        g: *mut arb_poly_struct,
432        s: *mut arb_struct,
433        h: *mut arb_poly_struct,
434        regularized: ::std::os::raw::c_int,
435        n: mp_limb_signed_t,
436        prec: mp_limb_signed_t,
437    );
438    pub fn arb_hypgeom_gamma_upper(
439        res: *mut arb_struct,
440        s: *mut arb_struct,
441        z: *mut arb_struct,
442        regularized: ::std::os::raw::c_int,
443        prec: mp_limb_signed_t,
444    );
445    pub fn _arb_hypgeom_gamma_upper_series(
446        g: arb_ptr,
447        s: *mut arb_struct,
448        h: arb_srcptr,
449        hlen: mp_limb_signed_t,
450        regularized: ::std::os::raw::c_int,
451        n: mp_limb_signed_t,
452        prec: mp_limb_signed_t,
453    );
454    pub fn arb_hypgeom_gamma_upper_series(
455        g: *mut arb_poly_struct,
456        s: *mut arb_struct,
457        h: *mut arb_poly_struct,
458        regularized: ::std::os::raw::c_int,
459        n: mp_limb_signed_t,
460        prec: mp_limb_signed_t,
461    );
462    pub fn arb_hypgeom_beta_lower(
463        res: *mut arb_struct,
464        a: *mut arb_struct,
465        c: *mut arb_struct,
466        z: *mut arb_struct,
467        regularized: ::std::os::raw::c_int,
468        prec: mp_limb_signed_t,
469    );
470    pub fn arb_hypgeom_beta_lower_series(
471        res: *mut arb_poly_struct,
472        a: *mut arb_struct,
473        b: *mut arb_struct,
474        z: *mut arb_poly_struct,
475        regularized: ::std::os::raw::c_int,
476        len: mp_limb_signed_t,
477        prec: mp_limb_signed_t,
478    );
479    pub fn _arb_hypgeom_beta_lower_series(
480        res: arb_ptr,
481        a: *mut arb_struct,
482        b: *mut arb_struct,
483        z: arb_srcptr,
484        zlen: mp_limb_signed_t,
485        regularized: ::std::os::raw::c_int,
486        len: mp_limb_signed_t,
487        prec: mp_limb_signed_t,
488    );
489    pub fn arb_hypgeom_chebyshev_t(
490        res: *mut arb_struct,
491        nu: *mut arb_struct,
492        z: *mut arb_struct,
493        prec: mp_limb_signed_t,
494    );
495    pub fn arb_hypgeom_chebyshev_u(
496        res: *mut arb_struct,
497        nu: *mut arb_struct,
498        z: *mut arb_struct,
499        prec: mp_limb_signed_t,
500    );
501    pub fn arb_hypgeom_jacobi_p(
502        res: *mut arb_struct,
503        n: *mut arb_struct,
504        a: *mut arb_struct,
505        b: *mut arb_struct,
506        z: *mut arb_struct,
507        prec: mp_limb_signed_t,
508    );
509    pub fn arb_hypgeom_gegenbauer_c(
510        res: *mut arb_struct,
511        n: *mut arb_struct,
512        m: *mut arb_struct,
513        z: *mut arb_struct,
514        prec: mp_limb_signed_t,
515    );
516    pub fn arb_hypgeom_laguerre_l(
517        res: *mut arb_struct,
518        n: *mut arb_struct,
519        m: *mut arb_struct,
520        z: *mut arb_struct,
521        prec: mp_limb_signed_t,
522    );
523    pub fn arb_hypgeom_hermite_h(
524        res: *mut arb_struct,
525        nu: *mut arb_struct,
526        z: *mut arb_struct,
527        prec: mp_limb_signed_t,
528    );
529    pub fn arb_hypgeom_legendre_p(
530        res: *mut arb_struct,
531        n: *mut arb_struct,
532        m: *mut arb_struct,
533        z: *mut arb_struct,
534        type_: ::std::os::raw::c_int,
535        prec: mp_limb_signed_t,
536    );
537    pub fn arb_hypgeom_legendre_q(
538        res: *mut arb_struct,
539        n: *mut arb_struct,
540        m: *mut arb_struct,
541        z: *mut arb_struct,
542        type_: ::std::os::raw::c_int,
543        prec: mp_limb_signed_t,
544    );
545    pub fn arb_hypgeom_legendre_p_ui_deriv_bound(
546        dp: *mut mag_struct,
547        dp2: *mut mag_struct,
548        n: mp_limb_t,
549        x: *mut arb_struct,
550        x2sub1: *mut arb_struct,
551    );
552    pub fn arb_hypgeom_legendre_p_ui_rec(
553        res: *mut arb_struct,
554        res_prime: *mut arb_struct,
555        n: mp_limb_t,
556        x: *mut arb_struct,
557        prec: mp_limb_signed_t,
558    );
559    pub fn arb_hypgeom_legendre_p_ui_asymp(
560        res: *mut arb_struct,
561        res2: *mut arb_struct,
562        n: mp_limb_t,
563        x: *mut arb_struct,
564        K: mp_limb_signed_t,
565        prec: mp_limb_signed_t,
566    );
567    pub fn arb_hypgeom_legendre_p_ui_one(
568        res: *mut arb_struct,
569        res2: *mut arb_struct,
570        n: mp_limb_t,
571        x: *mut arb_struct,
572        K: mp_limb_signed_t,
573        prec: mp_limb_signed_t,
574    );
575    pub fn arb_hypgeom_legendre_p_ui_zero(
576        res: *mut arb_struct,
577        res2: *mut arb_struct,
578        n: mp_limb_t,
579        x: *mut arb_struct,
580        K: mp_limb_signed_t,
581        prec: mp_limb_signed_t,
582    );
583    pub fn arb_hypgeom_legendre_p_ui(
584        res: *mut arb_struct,
585        res_prime: *mut arb_struct,
586        n: mp_limb_t,
587        x: *mut arb_struct,
588        prec: mp_limb_signed_t,
589    );
590    pub fn arb_hypgeom_legendre_p_ui_root(
591        res: *mut arb_struct,
592        weight: *mut arb_struct,
593        n: mp_limb_t,
594        k: mp_limb_t,
595        prec: mp_limb_signed_t,
596    );
597    pub fn arb_hypgeom_central_bin_ui(res: *mut arb_struct, n: mp_limb_t, prec: mp_limb_signed_t);
598    pub fn arb_hypgeom_dilog(res: *mut arb_struct, z: *mut arb_struct, prec: mp_limb_signed_t);
599}