flint-sys 0.9.0

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

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


pub const ARB_CALC_SUCCESS: u32 = 0;
pub const ARB_CALC_IMPRECISE_INPUT: u32 = 1;
pub const ARB_CALC_NO_CONVERGENCE: u32 = 2;
pub type arb_calc_func_t = ::std::option::Option<
    unsafe extern "C" fn(
        out: arb_ptr,
        inp: *const arb_struct,
        param: *mut libc::c_void,
        order: slong,
        prec: slong,
    ) -> libc::c_int,
>;
extern "C" {
    pub static mut arb_calc_verbose: libc::c_int;
    #[link_name = "arf_interval_init__extern"]
    pub fn arf_interval_init(v: *mut arf_interval_struct);
    #[link_name = "arf_interval_clear__extern"]
    pub fn arf_interval_clear(v: *mut arf_interval_struct);
    #[link_name = "_arf_interval_vec_init__extern"]
    pub fn _arf_interval_vec_init(n: slong) -> arf_interval_ptr;
    #[link_name = "_arf_interval_vec_clear__extern"]
    pub fn _arf_interval_vec_clear(v: arf_interval_ptr, n: slong);
    #[link_name = "arf_interval_set__extern"]
    pub fn arf_interval_set(v: *mut arf_interval_struct, u: *const arf_interval_struct);
    #[link_name = "arf_interval_swap__extern"]
    pub fn arf_interval_swap(v: *mut arf_interval_struct, u: *mut arf_interval_struct);
    #[link_name = "arf_interval_get_arb__extern"]
    pub fn arf_interval_get_arb(x: *mut arb_struct, v: *const arf_interval_struct, prec: slong);
    pub fn arf_interval_fprintd(file: *mut FILE, v: *const arf_interval_struct, n: slong);
    pub fn arf_interval_printd(v: *const arf_interval_struct, n: slong);
    pub fn arb_calc_partition(
        L: *mut arf_interval_struct,
        R: *mut arf_interval_struct,
        func: arb_calc_func_t,
        param: *mut libc::c_void,
        block: *const arf_interval_struct,
        prec: slong,
    ) -> libc::c_int;
    pub fn arb_calc_isolate_roots(
        found: *mut arf_interval_ptr,
        flags: *mut *mut libc::c_int,
        func: arb_calc_func_t,
        param: *mut libc::c_void,
        interval: *const arf_interval_struct,
        maxdepth: slong,
        maxeval: slong,
        maxfound: slong,
        prec: slong,
    ) -> slong;
    pub fn arb_calc_refine_root_bisect(
        r: *mut arf_interval_struct,
        func: arb_calc_func_t,
        param: *mut libc::c_void,
        start: *const arf_interval_struct,
        iter: slong,
        prec: slong,
    ) -> libc::c_int;
    pub fn arb_calc_newton_conv_factor(
        conv_factor: *mut arf_struct,
        func: arb_calc_func_t,
        param: *mut libc::c_void,
        conv_region: *const arb_struct,
        prec: slong,
    );
    pub fn arb_calc_newton_step(
        xnew: *mut arb_struct,
        func: arb_calc_func_t,
        param: *mut libc::c_void,
        x: *const arb_struct,
        conv_region: *const arb_struct,
        conv_factor: *const arf_struct,
        prec: slong,
    ) -> libc::c_int;
    pub fn arb_calc_refine_root_newton(
        r: *mut arb_struct,
        func: arb_calc_func_t,
        param: *mut libc::c_void,
        start: *const arb_struct,
        conv_region: *const arb_struct,
        conv_factor: *const arf_struct,
        eval_extra_prec: slong,
        prec: slong,
    ) -> libc::c_int;
}