1use crate::deps::*;
4use crate::acb_types::*;
5use crate::arb_types::*;
6use crate::arf_types::*;
7
8
9pub type acb_calc_func_t = ::std::option::Option<
10 unsafe extern "C" fn(
11 out: acb_ptr,
12 inp: *const acb_struct,
13 param: *mut libc::c_void,
14 order: slong,
15 prec: slong,
16 ) -> libc::c_int,
17>;
18#[repr(C)]
19pub struct acb_calc_integrate_opt_struct {
20 pub deg_limit: slong,
21 pub eval_limit: slong,
22 pub depth_limit: slong,
23 pub use_heap: libc::c_int,
24 pub verbose: libc::c_int,
25}
26#[allow(clippy::unnecessary_operation, clippy::identity_op)]
27const _: () = {
28 ["Size of acb_calc_integrate_opt_struct"]
29 [::std::mem::size_of::<acb_calc_integrate_opt_struct>() - 32usize];
30 ["Alignment of acb_calc_integrate_opt_struct"]
31 [::std::mem::align_of::<acb_calc_integrate_opt_struct>() - 8usize];
32 ["Offset of field: acb_calc_integrate_opt_struct::deg_limit"]
33 [::std::mem::offset_of!(acb_calc_integrate_opt_struct, deg_limit) - 0usize];
34 ["Offset of field: acb_calc_integrate_opt_struct::eval_limit"]
35 [::std::mem::offset_of!(acb_calc_integrate_opt_struct, eval_limit) - 8usize];
36 ["Offset of field: acb_calc_integrate_opt_struct::depth_limit"]
37 [::std::mem::offset_of!(acb_calc_integrate_opt_struct, depth_limit) - 16usize];
38 ["Offset of field: acb_calc_integrate_opt_struct::use_heap"]
39 [::std::mem::offset_of!(acb_calc_integrate_opt_struct, use_heap) - 24usize];
40 ["Offset of field: acb_calc_integrate_opt_struct::verbose"]
41 [::std::mem::offset_of!(acb_calc_integrate_opt_struct, verbose) - 28usize];
42};
43impl Default for acb_calc_integrate_opt_struct {
44 fn default() -> Self {
45 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
46 unsafe {
47 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
48 s.assume_init()
49 }
50 }
51}
52pub type acb_calc_integrate_opt_t = [acb_calc_integrate_opt_struct; 1usize];
53extern "C" {
54 pub fn acb_calc_cauchy_bound(
55 bound: *mut arb_struct,
56 func: acb_calc_func_t,
57 param: *mut libc::c_void,
58 x: *const acb_struct,
59 radius: *const arb_struct,
60 maxdepth: slong,
61 prec: slong,
62 );
63 pub fn acb_calc_integrate_taylor(
64 res: *mut acb_struct,
65 func: acb_calc_func_t,
66 param: *mut libc::c_void,
67 a: *const acb_struct,
68 b: *const acb_struct,
69 inner_radius: *const arf_struct,
70 outer_radius: *const arf_struct,
71 accuracy_goal: slong,
72 prec: slong,
73 ) -> libc::c_int;
74 pub fn acb_calc_integrate_opt_init(options: *mut acb_calc_integrate_opt_struct);
75 pub fn acb_calc_integrate(
76 res: *mut acb_struct,
77 f: acb_calc_func_t,
78 param: *mut libc::c_void,
79 a: *const acb_struct,
80 b: *const acb_struct,
81 goal: slong,
82 tol: *const mag_struct,
83 options: *const acb_calc_integrate_opt_struct,
84 prec: slong,
85 ) -> libc::c_int;
86 pub fn acb_calc_integrate_gl_auto_deg(
87 res: *mut acb_struct,
88 eval_count: *mut slong,
89 f: acb_calc_func_t,
90 param: *mut libc::c_void,
91 a: *const acb_struct,
92 b: *const acb_struct,
93 tol: *const mag_struct,
94 deg_limit: slong,
95 verbose: libc::c_int,
96 prec: slong,
97 ) -> libc::c_int;
98}