1use 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}