flint-sys 0.9.0

Bindings to the FLINT C library
Documentation
/* automatically generated by rust-bindgen 0.70.1 */

use crate::deps::*;
use crate::acb_types::*;
use crate::arb_types::*;
use crate::arf_types::*;


pub type acb_calc_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        out: acb_ptr,
        inp: *const acb_struct,
        param: *mut libc::c_void,
        order: slong,
        prec: slong,
    ) -> libc::c_int,
>;
#[repr(C)]
pub struct acb_calc_integrate_opt_struct {
    pub deg_limit: slong,
    pub eval_limit: slong,
    pub depth_limit: slong,
    pub use_heap: libc::c_int,
    pub verbose: libc::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of acb_calc_integrate_opt_struct"]
        [::std::mem::size_of::<acb_calc_integrate_opt_struct>() - 32usize];
    ["Alignment of acb_calc_integrate_opt_struct"]
        [::std::mem::align_of::<acb_calc_integrate_opt_struct>() - 8usize];
    ["Offset of field: acb_calc_integrate_opt_struct::deg_limit"]
        [::std::mem::offset_of!(acb_calc_integrate_opt_struct, deg_limit) - 0usize];
    ["Offset of field: acb_calc_integrate_opt_struct::eval_limit"]
        [::std::mem::offset_of!(acb_calc_integrate_opt_struct, eval_limit) - 8usize];
    ["Offset of field: acb_calc_integrate_opt_struct::depth_limit"]
        [::std::mem::offset_of!(acb_calc_integrate_opt_struct, depth_limit) - 16usize];
    ["Offset of field: acb_calc_integrate_opt_struct::use_heap"]
        [::std::mem::offset_of!(acb_calc_integrate_opt_struct, use_heap) - 24usize];
    ["Offset of field: acb_calc_integrate_opt_struct::verbose"]
        [::std::mem::offset_of!(acb_calc_integrate_opt_struct, verbose) - 28usize];
};
impl Default for acb_calc_integrate_opt_struct {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
pub type acb_calc_integrate_opt_t = [acb_calc_integrate_opt_struct; 1usize];
extern "C" {
    pub fn acb_calc_cauchy_bound(
        bound: *mut arb_struct,
        func: acb_calc_func_t,
        param: *mut libc::c_void,
        x: *const acb_struct,
        radius: *const arb_struct,
        maxdepth: slong,
        prec: slong,
    );
    pub fn acb_calc_integrate_taylor(
        res: *mut acb_struct,
        func: acb_calc_func_t,
        param: *mut libc::c_void,
        a: *const acb_struct,
        b: *const acb_struct,
        inner_radius: *const arf_struct,
        outer_radius: *const arf_struct,
        accuracy_goal: slong,
        prec: slong,
    ) -> libc::c_int;
    pub fn acb_calc_integrate_opt_init(options: *mut acb_calc_integrate_opt_struct);
    pub fn acb_calc_integrate(
        res: *mut acb_struct,
        f: acb_calc_func_t,
        param: *mut libc::c_void,
        a: *const acb_struct,
        b: *const acb_struct,
        goal: slong,
        tol: *const mag_struct,
        options: *const acb_calc_integrate_opt_struct,
        prec: slong,
    ) -> libc::c_int;
    pub fn acb_calc_integrate_gl_auto_deg(
        res: *mut acb_struct,
        eval_count: *mut slong,
        f: acb_calc_func_t,
        param: *mut libc::c_void,
        a: *const acb_struct,
        b: *const acb_struct,
        tol: *const mag_struct,
        deg_limit: slong,
        verbose: libc::c_int,
        prec: slong,
    ) -> libc::c_int;
}