# sage_setup: distribution = sagemath-flint
# distutils: libraries = flint
# distutils: depends = flint/arb_calc.h

################################################################################
# This file is auto-generated by the script
#   SAGE_ROOT/src/sage_setup/autogen/flint_autogen.py.
# From the commit 3e2c3a3e091106a25ca9c6fba28e02f2cbcd654a
# Do not modify by hand! Fix and rerun the script instead.
################################################################################

from libc.stdio cimport FILE
from sage.libs.gmp.types cimport *
from sage.libs.mpfr.types cimport *
from sage.libs.flint.types cimport *

cdef extern from "flint_wrap.h":
    void arf_interval_init(arf_interval_t v) noexcept
    void arf_interval_clear(arf_interval_t v) noexcept
    arf_interval_ptr _arf_interval_vec_init(slong n) noexcept
    void _arf_interval_vec_clear(arf_interval_ptr v, slong n) noexcept
    void arf_interval_set(arf_interval_t v, const arf_interval_t u) noexcept
    void arf_interval_swap(arf_interval_t v, arf_interval_t u) noexcept
    void arf_interval_get_arb(arb_t x, const arf_interval_t v, slong prec) noexcept
    void arf_interval_printd(const arf_interval_t v, slong n) noexcept
    void arf_interval_fprintd(FILE * file, const arf_interval_t v, slong n) noexcept
    slong arb_calc_isolate_roots(arf_interval_ptr * found, int ** flags, arb_calc_func_t func, void * param, const arf_interval_t interval, slong maxdepth, slong maxeval, slong maxfound, slong prec) noexcept
    int arb_calc_refine_root_bisect(arf_interval_t r, arb_calc_func_t func, void * param, const arf_interval_t start, slong it, slong prec) noexcept
    void arb_calc_newton_conv_factor(arf_t conv_factor, arb_calc_func_t func, void * param, const arb_t conv_region, slong prec) noexcept
    int arb_calc_newton_step(arb_t xnew, arb_calc_func_t func, void * param, const arb_t x, const arb_t conv_region, const arf_t conv_factor, slong prec) noexcept
    int arb_calc_refine_root_newton(arb_t r, arb_calc_func_t func, void * param, const arb_t start, const arb_t conv_region, const arf_t conv_factor, slong eval_extra_prec, slong prec) noexcept
