Skip to main content

flint_sys/
arb_calc.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use libc::*;
4use crate::deps::*;
5use crate::arb_types::*;
6use crate::arf_types::*;
7
8
9pub const ARB_CALC_SUCCESS: u32 = 0;
10pub const ARB_CALC_IMPRECISE_INPUT: u32 = 1;
11pub const ARB_CALC_NO_CONVERGENCE: u32 = 2;
12pub type arb_calc_func_t = ::std::option::Option<
13    unsafe extern "C" fn(
14        out: arb_ptr,
15        inp: *const arb_struct,
16        param: *mut libc::c_void,
17        order: slong,
18        prec: slong,
19    ) -> libc::c_int,
20>;
21extern "C" {
22    pub static mut arb_calc_verbose: libc::c_int;
23    #[link_name = "arf_interval_init__extern"]
24    pub fn arf_interval_init(v: *mut arf_interval_struct);
25    #[link_name = "arf_interval_clear__extern"]
26    pub fn arf_interval_clear(v: *mut arf_interval_struct);
27    #[link_name = "_arf_interval_vec_init__extern"]
28    pub fn _arf_interval_vec_init(n: slong) -> arf_interval_ptr;
29    #[link_name = "_arf_interval_vec_clear__extern"]
30    pub fn _arf_interval_vec_clear(v: arf_interval_ptr, n: slong);
31    #[link_name = "arf_interval_set__extern"]
32    pub fn arf_interval_set(v: *mut arf_interval_struct, u: *const arf_interval_struct);
33    #[link_name = "arf_interval_swap__extern"]
34    pub fn arf_interval_swap(v: *mut arf_interval_struct, u: *mut arf_interval_struct);
35    #[link_name = "arf_interval_get_arb__extern"]
36    pub fn arf_interval_get_arb(x: *mut arb_struct, v: *const arf_interval_struct, prec: slong);
37    pub fn arf_interval_fprintd(file: *mut FILE, v: *const arf_interval_struct, n: slong);
38    pub fn arf_interval_printd(v: *const arf_interval_struct, n: slong);
39    pub fn arb_calc_partition(
40        L: *mut arf_interval_struct,
41        R: *mut arf_interval_struct,
42        func: arb_calc_func_t,
43        param: *mut libc::c_void,
44        block: *const arf_interval_struct,
45        prec: slong,
46    ) -> libc::c_int;
47    pub fn arb_calc_isolate_roots(
48        found: *mut arf_interval_ptr,
49        flags: *mut *mut libc::c_int,
50        func: arb_calc_func_t,
51        param: *mut libc::c_void,
52        interval: *const arf_interval_struct,
53        maxdepth: slong,
54        maxeval: slong,
55        maxfound: slong,
56        prec: slong,
57    ) -> slong;
58    pub fn arb_calc_refine_root_bisect(
59        r: *mut arf_interval_struct,
60        func: arb_calc_func_t,
61        param: *mut libc::c_void,
62        start: *const arf_interval_struct,
63        iter: slong,
64        prec: slong,
65    ) -> libc::c_int;
66    pub fn arb_calc_newton_conv_factor(
67        conv_factor: *mut arf_struct,
68        func: arb_calc_func_t,
69        param: *mut libc::c_void,
70        conv_region: *const arb_struct,
71        prec: slong,
72    );
73    pub fn arb_calc_newton_step(
74        xnew: *mut arb_struct,
75        func: arb_calc_func_t,
76        param: *mut libc::c_void,
77        x: *const arb_struct,
78        conv_region: *const arb_struct,
79        conv_factor: *const arf_struct,
80        prec: slong,
81    ) -> libc::c_int;
82    pub fn arb_calc_refine_root_newton(
83        r: *mut arb_struct,
84        func: arb_calc_func_t,
85        param: *mut libc::c_void,
86        start: *const arb_struct,
87        conv_region: *const arb_struct,
88        conv_factor: *const arf_struct,
89        eval_extra_prec: slong,
90        prec: slong,
91    ) -> libc::c_int;
92}