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;
}