use crate::deps::*;
use crate::acb_types::*;
use crate::ca_types::*;
use crate::qqbar::*;
extern "C" {
pub fn ca_ext_init_qqbar(
res: *mut ca_ext_struct,
x: *const qqbar_struct,
ctx: *mut ca_ctx_struct,
);
pub fn ca_ext_init_const(
res: *mut ca_ext_struct,
func: calcium_func_code,
ctx: *mut ca_ctx_struct,
);
pub fn ca_ext_init_fx(
res: *mut ca_ext_struct,
func: calcium_func_code,
x: *const ca_struct,
ctx: *mut ca_ctx_struct,
);
pub fn ca_ext_init_fxy(
res: *mut ca_ext_struct,
func: calcium_func_code,
x: *const ca_struct,
y: *const ca_struct,
ctx: *mut ca_ctx_struct,
);
pub fn ca_ext_init_fxn(
res: *mut ca_ext_struct,
func: calcium_func_code,
x: ca_srcptr,
nargs: slong,
ctx: *mut ca_ctx_struct,
);
#[link_name = "ca_ext_init_set__extern"]
pub fn ca_ext_init_set(
res: *mut ca_ext_struct,
x: *const ca_ext_struct,
ctx: *mut ca_ctx_struct,
);
pub fn ca_ext_clear(res: *mut ca_ext_struct, ctx: *mut ca_ctx_struct);
#[link_name = "ca_ext_nargs__extern"]
pub fn ca_ext_nargs(x: *const ca_ext_struct, ctx: *mut ca_ctx_struct) -> slong;
#[link_name = "ca_ext_get_arg__extern"]
pub fn ca_ext_get_arg(
res: *mut ca_struct,
x: *const ca_ext_struct,
i: slong,
ctx: *mut ca_ctx_struct,
);
#[link_name = "ca_ext_hash__extern"]
pub fn ca_ext_hash(x: *const ca_ext_struct, ctx: *mut ca_ctx_struct) -> ulong;
pub fn ca_ext_equal_repr(
x: *const ca_ext_struct,
y: *const ca_ext_struct,
ctx: *mut ca_ctx_struct,
) -> libc::c_int;
pub fn ca_ext_cmp_repr(
x: *const ca_ext_struct,
y: *const ca_ext_struct,
ctx: *mut ca_ctx_struct,
) -> libc::c_int;
pub fn ca_ext_print(x: *const ca_ext_struct, ctx: *mut ca_ctx_struct);
pub fn ca_ext_get_acb_raw(
res: *mut acb_struct,
x: *mut ca_ext_struct,
prec: slong,
ctx: *mut ca_ctx_struct,
);
pub fn ca_ext_cache_init(cache: *mut ca_ext_cache_struct, ctx: *mut ca_ctx_struct);
pub fn ca_ext_cache_clear(cache: *mut ca_ext_cache_struct, ctx: *mut ca_ctx_struct);
pub fn ca_ext_cache_insert(
cache: *mut ca_ext_cache_struct,
x: *const ca_ext_struct,
ctx: *mut ca_ctx_struct,
) -> ca_ext_ptr;
}