Skip to main content

flint_sys/
acb_calc.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use 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}