use libc::*;
use crate::deps::*;
use crate::acb_types::*;
use crate::arb_types::*;
use crate::flint::*;
use crate::fmpq_types::*;
use crate::fmpz_types::*;
extern "C" {
pub fn acb_poly_init(poly: *mut acb_poly_struct);
pub fn acb_poly_init2(poly: *mut acb_poly_struct, len: slong);
pub fn acb_poly_clear(poly: *mut acb_poly_struct);
pub fn acb_poly_fit_length(poly: *mut acb_poly_struct, len: slong);
pub fn _acb_poly_set_length(poly: *mut acb_poly_struct, len: slong);
pub fn _acb_poly_normalise(poly: *mut acb_poly_struct);
#[link_name = "acb_poly_swap__extern"]
pub fn acb_poly_swap(poly1: *mut acb_poly_struct, poly2: *mut acb_poly_struct);
#[link_name = "acb_poly_length__extern"]
pub fn acb_poly_length(poly: *const acb_poly_struct) -> slong;
#[link_name = "acb_poly_degree__extern"]
pub fn acb_poly_degree(poly: *const acb_poly_struct) -> slong;
pub fn acb_poly_valuation(poly: *const acb_poly_struct) -> slong;
#[link_name = "acb_poly_is_zero__extern"]
pub fn acb_poly_is_zero(z: *const acb_poly_struct) -> libc::c_int;
#[link_name = "acb_poly_is_one__extern"]
pub fn acb_poly_is_one(z: *const acb_poly_struct) -> libc::c_int;
#[link_name = "acb_poly_is_x__extern"]
pub fn acb_poly_is_x(z: *const acb_poly_struct) -> libc::c_int;
#[link_name = "acb_poly_zero__extern"]
pub fn acb_poly_zero(poly: *mut acb_poly_struct);
#[link_name = "acb_poly_one__extern"]
pub fn acb_poly_one(poly: *mut acb_poly_struct);
pub fn acb_poly_set_coeff_si(poly: *mut acb_poly_struct, n: slong, x: slong);
pub fn acb_poly_set_coeff_acb(poly: *mut acb_poly_struct, n: slong, x: *const acb_struct);
pub fn acb_poly_get_coeff_acb(x: *mut acb_struct, poly: *const acb_poly_struct, n: slong);
pub fn _acb_poly_shift_right(res: acb_ptr, poly: acb_srcptr, len: slong, n: slong);
pub fn acb_poly_shift_right(res: *mut acb_poly_struct, poly: *const acb_poly_struct, n: slong);
pub fn _acb_poly_shift_left(res: acb_ptr, poly: acb_srcptr, len: slong, n: slong);
pub fn acb_poly_shift_left(res: *mut acb_poly_struct, poly: *const acb_poly_struct, n: slong);
#[link_name = "acb_poly_truncate__extern"]
pub fn acb_poly_truncate(poly: *mut acb_poly_struct, newlen: slong);
pub fn _acb_poly_majorant(res: arb_ptr, vec: acb_srcptr, len: slong, prec: slong);
pub fn acb_poly_majorant(res: *mut arb_poly_struct, poly: *const acb_poly_struct, prec: slong);
pub fn acb_poly_fprintd(file: *mut FILE, poly: *const acb_poly_struct, digits: slong);
pub fn acb_poly_printd(poly: *const acb_poly_struct, digits: slong);
pub fn _acb_poly_evaluate_horner(
res: *mut acb_struct,
f: acb_srcptr,
len: slong,
a: *const acb_struct,
prec: slong,
);
pub fn acb_poly_evaluate_horner(
res: *mut acb_struct,
f: *const acb_poly_struct,
a: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_evaluate_rectangular(
y: *mut acb_struct,
poly: acb_srcptr,
len: slong,
x: *const acb_struct,
prec: slong,
);
pub fn acb_poly_evaluate_rectangular(
res: *mut acb_struct,
f: *const acb_poly_struct,
a: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_evaluate(
res: *mut acb_struct,
f: acb_srcptr,
len: slong,
a: *const acb_struct,
prec: slong,
);
pub fn acb_poly_evaluate(
res: *mut acb_struct,
f: *const acb_poly_struct,
a: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_evaluate2_horner(
y: *mut acb_struct,
z: *mut acb_struct,
f: acb_srcptr,
len: slong,
x: *const acb_struct,
prec: slong,
);
pub fn acb_poly_evaluate2_horner(
y: *mut acb_struct,
z: *mut acb_struct,
f: *const acb_poly_struct,
x: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_evaluate2_rectangular(
y: *mut acb_struct,
z: *mut acb_struct,
f: acb_srcptr,
len: slong,
x: *const acb_struct,
prec: slong,
);
pub fn acb_poly_evaluate2_rectangular(
y: *mut acb_struct,
z: *mut acb_struct,
f: *const acb_poly_struct,
x: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_evaluate2(
y: *mut acb_struct,
z: *mut acb_struct,
f: acb_srcptr,
len: slong,
x: *const acb_struct,
prec: slong,
);
pub fn acb_poly_evaluate2(
y: *mut acb_struct,
z: *mut acb_struct,
f: *const acb_poly_struct,
x: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_derivative(res: acb_ptr, poly: acb_srcptr, len: slong, prec: slong);
pub fn acb_poly_derivative(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
prec: slong,
);
pub fn _acb_poly_nth_derivative(
res: acb_ptr,
poly: acb_srcptr,
n: ulong,
len: slong,
prec: slong,
);
pub fn acb_poly_nth_derivative(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
n: ulong,
prec: slong,
);
pub fn _acb_poly_integral(res: acb_ptr, poly: acb_srcptr, len: slong, prec: slong);
pub fn acb_poly_integral(res: *mut acb_poly_struct, poly: *const acb_poly_struct, prec: slong);
pub fn acb_poly_borel_transform(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
prec: slong,
);
pub fn _acb_poly_borel_transform(res: acb_ptr, poly: acb_srcptr, len: slong, prec: slong);
pub fn acb_poly_inv_borel_transform(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
prec: slong,
);
pub fn _acb_poly_inv_borel_transform(res: acb_ptr, poly: acb_srcptr, len: slong, prec: slong);
pub fn _acb_poly_binomial_transform_basecase(
b: acb_ptr,
a: acb_srcptr,
alen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_binomial_transform_basecase(
b: *mut acb_poly_struct,
a: *const acb_poly_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_binomial_transform_convolution(
b: acb_ptr,
a: acb_srcptr,
alen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_binomial_transform_convolution(
b: *mut acb_poly_struct,
a: *const acb_poly_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_binomial_transform(
b: acb_ptr,
a: acb_srcptr,
alen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_binomial_transform(
b: *mut acb_poly_struct,
a: *const acb_poly_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_graeffe_transform(b: acb_ptr, a: acb_srcptr, len: slong, prec: slong);
pub fn acb_poly_graeffe_transform(
b: *mut acb_poly_struct,
a: *const acb_poly_struct,
prec: slong,
);
pub fn acb_poly_set(dest: *mut acb_poly_struct, src: *const acb_poly_struct);
pub fn acb_poly_set_round(dest: *mut acb_poly_struct, src: *const acb_poly_struct, prec: slong);
pub fn acb_poly_set_trunc(res: *mut acb_poly_struct, poly: *const acb_poly_struct, n: slong);
pub fn acb_poly_set_trunc_round(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn acb_poly_set_arb_poly(poly: *mut acb_poly_struct, re: *const arb_poly_struct);
pub fn acb_poly_set2_arb_poly(
poly: *mut acb_poly_struct,
re: *const arb_poly_struct,
im: *const arb_poly_struct,
);
pub fn acb_poly_set_fmpq_poly(
poly: *mut acb_poly_struct,
re: *const fmpq_poly_struct,
prec: slong,
);
pub fn acb_poly_set2_fmpq_poly(
poly: *mut acb_poly_struct,
re: *const fmpq_poly_struct,
im: *const fmpq_poly_struct,
prec: slong,
);
pub fn acb_poly_set_fmpz_poly(
poly: *mut acb_poly_struct,
src: *const fmpz_poly_struct,
prec: slong,
);
pub fn acb_poly_set2_fmpz_poly(
poly: *mut acb_poly_struct,
re: *const fmpz_poly_struct,
im: *const fmpz_poly_struct,
prec: slong,
);
pub fn acb_poly_get_unique_fmpz_poly(
res: *mut fmpz_poly_struct,
src: *const acb_poly_struct,
) -> libc::c_int;
#[link_name = "acb_poly_set_acb__extern"]
pub fn acb_poly_set_acb(poly: *mut acb_poly_struct, c: *const acb_struct);
pub fn acb_poly_set_si(poly: *mut acb_poly_struct, c: slong);
pub fn acb_poly_randtest(
poly: *mut acb_poly_struct,
state: *mut flint_rand_struct,
len: slong,
prec: slong,
mag_bits: slong,
);
pub fn acb_poly_equal(A: *const acb_poly_struct, B: *const acb_poly_struct) -> libc::c_int;
pub fn acb_poly_contains_fmpz_poly(
poly1: *const acb_poly_struct,
poly2: *const fmpz_poly_struct,
) -> libc::c_int;
pub fn acb_poly_contains_fmpq_poly(
poly1: *const acb_poly_struct,
poly2: *const fmpq_poly_struct,
) -> libc::c_int;
pub fn _acb_poly_overlaps(
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
) -> libc::c_int;
pub fn acb_poly_overlaps(
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
) -> libc::c_int;
pub fn acb_poly_contains(
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
) -> libc::c_int;
#[link_name = "acb_poly_is_real__extern"]
pub fn acb_poly_is_real(poly: *const acb_poly_struct) -> libc::c_int;
pub fn _acb_poly_add(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
prec: slong,
);
pub fn acb_poly_add(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
prec: slong,
);
pub fn acb_poly_add_si(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
c: slong,
prec: slong,
);
pub fn _acb_poly_sub(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
prec: slong,
);
pub fn acb_poly_sub(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
prec: slong,
);
pub fn acb_poly_add_series(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
len: slong,
prec: slong,
);
pub fn acb_poly_sub_series(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
len: slong,
prec: slong,
);
#[link_name = "acb_poly_neg__extern"]
pub fn acb_poly_neg(res: *mut acb_poly_struct, poly: *const acb_poly_struct);
#[link_name = "acb_poly_scalar_mul_2exp_si__extern"]
pub fn acb_poly_scalar_mul_2exp_si(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
c: slong,
);
#[link_name = "acb_poly_scalar_mul__extern"]
pub fn acb_poly_scalar_mul(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
c: *const acb_struct,
prec: slong,
);
#[link_name = "acb_poly_scalar_div__extern"]
pub fn acb_poly_scalar_div(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
c: *const acb_struct,
prec: slong,
);
pub fn acb_poly_mullow_classical(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_mullow_classical(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
n: slong,
prec: slong,
);
pub fn _acb_poly_mullow_transpose(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_mullow_transpose(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_mullow_transpose_gauss(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_mullow_transpose_gauss(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_mullow(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_mullow(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_mul(
C: acb_ptr,
A: acb_srcptr,
lenA: slong,
B: acb_srcptr,
lenB: slong,
prec: slong,
);
pub fn acb_poly_mul(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
prec: slong,
);
pub fn _acb_poly_mulmid_transpose(
z: acb_ptr,
x: acb_srcptr,
xlen: slong,
y: acb_srcptr,
ylen: slong,
nlo: slong,
nhi: slong,
prec: slong,
);
pub fn acb_poly_mulmid_transpose(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
nlo: slong,
nhi: slong,
prec: slong,
);
pub fn _acb_poly_mulmid_classical(
z: acb_ptr,
x: acb_srcptr,
xlen: slong,
y: acb_srcptr,
ylen: slong,
nlo: slong,
nhi: slong,
prec: slong,
);
pub fn acb_poly_mulmid_classical(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
nlo: slong,
nhi: slong,
prec: slong,
);
pub fn _acb_poly_mulmid(
z: acb_ptr,
x: acb_srcptr,
xlen: slong,
y: acb_srcptr,
ylen: slong,
nlo: slong,
nhi: slong,
prec: slong,
);
pub fn acb_poly_mulmid(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
nlo: slong,
nhi: slong,
prec: slong,
);
#[link_name = "_acb_poly_mul_monic__extern"]
pub fn _acb_poly_mul_monic(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
prec: slong,
);
pub fn _acb_poly_inv_series(Qinv: acb_ptr, Q: acb_srcptr, Qlen: slong, len: slong, prec: slong);
pub fn acb_poly_inv_series(
Qinv: *mut acb_poly_struct,
Q: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_div_series(
Q: acb_ptr,
A: acb_srcptr,
Alen: slong,
B: acb_srcptr,
Blen: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_div_series(
Q: *mut acb_poly_struct,
A: *const acb_poly_struct,
B: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_reverse(res: acb_ptr, poly: acb_srcptr, len: slong, n: slong);
pub fn _acb_poly_div(
Q: acb_ptr,
A: acb_srcptr,
lenA: slong,
B: acb_srcptr,
lenB: slong,
prec: slong,
);
pub fn _acb_poly_divrem(
Q: acb_ptr,
R: acb_ptr,
A: acb_srcptr,
lenA: slong,
B: acb_srcptr,
lenB: slong,
prec: slong,
);
pub fn _acb_poly_rem(
R: acb_ptr,
A: acb_srcptr,
lenA: slong,
B: acb_srcptr,
lenB: slong,
prec: slong,
);
pub fn acb_poly_divrem(
Q: *mut acb_poly_struct,
R: *mut acb_poly_struct,
A: *const acb_poly_struct,
B: *const acb_poly_struct,
prec: slong,
) -> libc::c_int;
pub fn _acb_poly_div_root(
Q: acb_ptr,
R: *mut acb_struct,
A: acb_srcptr,
len: slong,
c: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_taylor_shift(poly: acb_ptr, c: *const acb_struct, n: slong, prec: slong);
pub fn acb_poly_taylor_shift(
g: *mut acb_poly_struct,
f: *const acb_poly_struct,
c: *const acb_struct,
prec: slong,
);
pub fn _acb_poly_compose(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
prec: slong,
);
pub fn acb_poly_compose(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
prec: slong,
);
pub fn _acb_poly_compose_series(
res: acb_ptr,
poly1: acb_srcptr,
len1: slong,
poly2: acb_srcptr,
len2: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_compose_series(
res: *mut acb_poly_struct,
poly1: *const acb_poly_struct,
poly2: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_revert_series(
Qinv: acb_ptr,
Q: acb_srcptr,
Qlen: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_revert_series(
Qinv: *mut acb_poly_struct,
Q: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_evaluate_vec_fast_precomp(
vs: acb_ptr,
poly: acb_srcptr,
plen: slong,
tree: *mut acb_ptr,
len: slong,
prec: slong,
);
pub fn _acb_poly_evaluate_vec_fast(
ys: acb_ptr,
poly: acb_srcptr,
plen: slong,
xs: acb_srcptr,
n: slong,
prec: slong,
);
pub fn acb_poly_evaluate_vec_fast(
ys: acb_ptr,
poly: *const acb_poly_struct,
xs: acb_srcptr,
n: slong,
prec: slong,
);
pub fn _acb_poly_evaluate_vec_iter(
ys: acb_ptr,
poly: acb_srcptr,
plen: slong,
xs: acb_srcptr,
n: slong,
prec: slong,
);
pub fn acb_poly_evaluate_vec_iter(
ys: acb_ptr,
poly: *const acb_poly_struct,
xs: acb_srcptr,
n: slong,
prec: slong,
);
pub fn _acb_poly_interpolate_barycentric(
poly: acb_ptr,
xs: acb_srcptr,
ys: acb_srcptr,
n: slong,
prec: slong,
);
pub fn acb_poly_interpolate_barycentric(
poly: *mut acb_poly_struct,
xs: acb_srcptr,
ys: acb_srcptr,
n: slong,
prec: slong,
);
pub fn _acb_poly_interpolation_weights(w: acb_ptr, tree: *mut acb_ptr, len: slong, prec: slong);
pub fn _acb_poly_interpolate_fast_precomp(
poly: acb_ptr,
ys: acb_srcptr,
tree: *mut acb_ptr,
weights: acb_srcptr,
len: slong,
prec: slong,
);
pub fn _acb_poly_interpolate_fast(
poly: acb_ptr,
xs: acb_srcptr,
ys: acb_srcptr,
len: slong,
prec: slong,
);
pub fn acb_poly_interpolate_fast(
poly: *mut acb_poly_struct,
xs: acb_srcptr,
ys: acb_srcptr,
n: slong,
prec: slong,
);
pub fn _acb_poly_interpolate_newton(
poly: acb_ptr,
xs: acb_srcptr,
ys: acb_srcptr,
n: slong,
prec: slong,
);
pub fn acb_poly_interpolate_newton(
poly: *mut acb_poly_struct,
xs: acb_srcptr,
ys: acb_srcptr,
n: slong,
prec: slong,
);
pub fn _acb_poly_product_roots(poly: acb_ptr, xs: acb_srcptr, n: slong, prec: slong);
pub fn acb_poly_product_roots(
poly: *mut acb_poly_struct,
xs: acb_srcptr,
n: slong,
prec: slong,
);
pub fn _acb_poly_tree_alloc(len: slong) -> *mut acb_ptr;
pub fn _acb_poly_tree_free(tree: *mut acb_ptr, len: slong);
pub fn _acb_poly_tree_build(tree: *mut acb_ptr, roots: acb_srcptr, len: slong, prec: slong);
pub fn _acb_poly_root_inclusion(
r: *mut acb_struct,
m: *const acb_struct,
poly: acb_srcptr,
polyder: acb_srcptr,
len: slong,
prec: slong,
);
pub fn _acb_poly_validate_roots(
roots: acb_ptr,
poly: acb_srcptr,
len: slong,
prec: slong,
) -> slong;
pub fn _acb_poly_find_roots(
roots: acb_ptr,
poly: acb_srcptr,
initial: acb_srcptr,
len: slong,
maxiter: slong,
prec: slong,
) -> slong;
pub fn acb_poly_find_roots(
roots: acb_ptr,
poly: *const acb_poly_struct,
initial: acb_srcptr,
maxiter: slong,
prec: slong,
) -> slong;
pub fn _acb_poly_root_bound_fujiwara(bound: *mut mag_struct, poly: acb_srcptr, len: slong);
pub fn acb_poly_root_bound_fujiwara(bound: *mut mag_struct, poly: *mut acb_poly_struct);
pub fn _acb_poly_validate_real_roots(
roots: acb_srcptr,
poly: acb_srcptr,
len: slong,
prec: slong,
) -> libc::c_int;
pub fn acb_poly_validate_real_roots(
roots: acb_srcptr,
poly: *const acb_poly_struct,
prec: slong,
) -> libc::c_int;
pub fn _acb_poly_pow_ui_trunc_binexp(
res: acb_ptr,
f: acb_srcptr,
flen: slong,
exp: ulong,
len: slong,
prec: slong,
);
pub fn acb_poly_pow_ui_trunc_binexp(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
exp: ulong,
len: slong,
prec: slong,
);
pub fn _acb_poly_pow_ui(res: acb_ptr, f: acb_srcptr, flen: slong, exp: ulong, prec: slong);
pub fn acb_poly_pow_ui(
res: *mut acb_poly_struct,
poly: *const acb_poly_struct,
exp: ulong,
prec: slong,
);
pub fn _acb_poly_rsqrt_series(g: acb_ptr, h: acb_srcptr, hlen: slong, len: slong, prec: slong);
pub fn acb_poly_rsqrt_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sqrt_series(g: acb_ptr, h: acb_srcptr, hlen: slong, len: slong, prec: slong);
pub fn acb_poly_sqrt_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_log_series(res: acb_ptr, f: acb_srcptr, flen: slong, n: slong, prec: slong);
pub fn acb_poly_log_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_log1p_series(res: acb_ptr, f: acb_srcptr, flen: slong, n: slong, prec: slong);
pub fn acb_poly_log1p_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_atan_series(res: acb_ptr, f: acb_srcptr, flen: slong, n: slong, prec: slong);
pub fn acb_poly_atan_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_exp_series_basecase(
f: acb_ptr,
h: acb_srcptr,
hlen: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_exp_series_basecase(
f: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_exp_series(f: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_exp_series(
f: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_exp_pi_i_series(f: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_exp_pi_i_series(
f: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sinh_cosh_series_basecase(
s: acb_ptr,
c: acb_ptr,
h: acb_srcptr,
hlen: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_sinh_cosh_series_basecase(
s: *mut acb_poly_struct,
c: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sinh_cosh_series_exponential(
s: acb_ptr,
c: acb_ptr,
h: acb_srcptr,
hlen: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_sinh_cosh_series_exponential(
s: *mut acb_poly_struct,
c: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sinh_cosh_series(
s: acb_ptr,
c: acb_ptr,
h: acb_srcptr,
hlen: slong,
n: slong,
prec: slong,
);
pub fn acb_poly_sinh_cosh_series(
s: *mut acb_poly_struct,
c: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sinh_series(s: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_sinh_series(
s: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_cosh_series(c: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_cosh_series(
c: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sin_cos_series(
s: acb_ptr,
c: acb_ptr,
h: acb_srcptr,
hlen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_sin_cos_series(
s: *mut acb_poly_struct,
c: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sin_series(g: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_sin_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_cos_series(g: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_cos_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sin_cos_pi_series(
s: acb_ptr,
c: acb_ptr,
h: acb_srcptr,
hlen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_sin_cos_pi_series(
s: *mut acb_poly_struct,
c: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sin_pi_series(g: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_sin_pi_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_cos_pi_series(g: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_cos_pi_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_cot_pi_series(g: acb_ptr, h: acb_srcptr, hlen: slong, len: slong, prec: slong);
pub fn acb_poly_cot_pi_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_tan_series(g: acb_ptr, h: acb_srcptr, hlen: slong, len: slong, prec: slong);
pub fn acb_poly_tan_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sinc_series(g: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_sinc_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_sinc_pi_series(g: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_sinc_pi_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_lambertw_series(
res: acb_ptr,
z: acb_srcptr,
zlen: slong,
k: *const fmpz,
flags: libc::c_int,
len: slong,
prec: slong,
);
pub fn acb_poly_lambertw_series(
res: *mut acb_poly_struct,
z: *const acb_poly_struct,
k: *const fmpz,
flags: libc::c_int,
len: slong,
prec: slong,
);
pub fn _acb_poly_gamma_series(
res: acb_ptr,
h: acb_srcptr,
hlen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_gamma_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_rgamma_series(
res: acb_ptr,
h: acb_srcptr,
hlen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_rgamma_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_lgamma_series(
res: acb_ptr,
h: acb_srcptr,
hlen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_lgamma_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_digamma_series(
res: acb_ptr,
h: acb_srcptr,
hlen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_digamma_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_rising_ui_series(
res: acb_ptr,
f: acb_srcptr,
flen: slong,
r: ulong,
trunc: slong,
prec: slong,
);
pub fn acb_poly_rising_ui_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
r: ulong,
trunc: slong,
prec: slong,
);
pub fn _acb_poly_pow_acb_series(
h: acb_ptr,
f: acb_srcptr,
flen: slong,
g: *const acb_struct,
len: slong,
prec: slong,
);
pub fn acb_poly_pow_acb_series(
h: *mut acb_poly_struct,
f: *const acb_poly_struct,
g: *const acb_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_pow_series(
h: acb_ptr,
f: acb_srcptr,
flen: slong,
g: acb_srcptr,
glen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_pow_series(
h: *mut acb_poly_struct,
f: *const acb_poly_struct,
g: *const acb_poly_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_binomial_pow_acb_series(
h: acb_ptr,
f: acb_srcptr,
flen: slong,
g: *const acb_struct,
len: slong,
prec: slong,
);
#[link_name = "_acb_poly_acb_pow_cpx__extern"]
pub fn _acb_poly_acb_pow_cpx(
w: acb_ptr,
a: *const acb_struct,
b: *const acb_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_acb_invpow_cpx(
res: acb_ptr,
N: *const acb_struct,
c: *const acb_struct,
trunc: slong,
prec: slong,
);
pub fn _acb_poly_mullow_cpx(
res: acb_ptr,
src: acb_srcptr,
len: slong,
c: *const acb_struct,
trunc: slong,
prec: slong,
);
pub fn _acb_poly_powsum_series_naive(
z: acb_ptr,
s: *const acb_struct,
a: *const acb_struct,
q: *const acb_struct,
n: slong,
len: slong,
prec: slong,
);
pub fn _acb_poly_powsum_series_naive_threaded(
z: acb_ptr,
s: *const acb_struct,
a: *const acb_struct,
q: *const acb_struct,
n: slong,
len: slong,
prec: slong,
);
pub fn _acb_poly_powsum_one_series_sieved(
z: acb_ptr,
s: *const acb_struct,
n: slong,
len: slong,
prec: slong,
);
pub fn _acb_poly_zeta_em_sum(
z: acb_ptr,
s: *const acb_struct,
a: *const acb_struct,
deflate: libc::c_int,
N: ulong,
M: ulong,
d: slong,
prec: slong,
);
pub fn _acb_poly_zeta_em_choose_param(
bound: *mut mag_struct,
N: *mut ulong,
M: *mut ulong,
s: *const acb_struct,
a: *const acb_struct,
d: slong,
target: slong,
prec: slong,
);
pub fn _acb_poly_zeta_em_bound1(
bound: *mut mag_struct,
s: *const acb_struct,
a: *const acb_struct,
N: slong,
M: slong,
d: slong,
wp: slong,
);
pub fn _acb_poly_zeta_em_bound(
vec: arb_ptr,
s: *const acb_struct,
a: *const acb_struct,
N: ulong,
M: ulong,
d: slong,
wp: slong,
);
pub fn _acb_poly_zeta_em_tail_naive(
sum: acb_ptr,
s: *const acb_struct,
Na: *const acb_struct,
Nasx: acb_srcptr,
M: slong,
len: slong,
prec: slong,
);
pub fn _acb_poly_zeta_em_tail_bsplit(
z: acb_ptr,
s: *const acb_struct,
Na: *const acb_struct,
Nasx: acb_srcptr,
M: slong,
len: slong,
prec: slong,
);
pub fn _acb_poly_zeta_cpx_series(
z: acb_ptr,
s: *const acb_struct,
a: *const acb_struct,
deflate: libc::c_int,
d: slong,
prec: slong,
);
pub fn _acb_poly_zeta_series(
res: acb_ptr,
h: acb_srcptr,
hlen: slong,
a: *const acb_struct,
deflate: libc::c_int,
len: slong,
prec: slong,
);
pub fn acb_poly_zeta_series(
res: *mut acb_poly_struct,
f: *const acb_poly_struct,
a: *const acb_struct,
deflate: libc::c_int,
n: slong,
prec: slong,
);
pub fn _acb_poly_polylog_cpx_zeta(
w: acb_ptr,
s: *const acb_struct,
z: *const acb_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_polylog_cpx_small(
w: acb_ptr,
s: *const acb_struct,
z: *const acb_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_polylog_cpx(
w: acb_ptr,
s: *const acb_struct,
z: *const acb_struct,
len: slong,
prec: slong,
);
pub fn _acb_poly_polylog_series(
res: acb_ptr,
s: acb_srcptr,
slen: slong,
z: *const acb_struct,
len: slong,
prec: slong,
);
pub fn acb_poly_polylog_series(
res: *mut acb_poly_struct,
s: *const acb_poly_struct,
z: *const acb_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_agm1_series(res: acb_ptr, z: acb_srcptr, zlen: slong, len: slong, prec: slong);
pub fn acb_poly_agm1_series(
res: *mut acb_poly_struct,
z: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_elliptic_k_series(
res: acb_ptr,
z: acb_srcptr,
zlen: slong,
len: slong,
prec: slong,
);
pub fn acb_poly_elliptic_k_series(
res: *mut acb_poly_struct,
z: *const acb_poly_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_elliptic_p_series(
res: acb_ptr,
z: acb_srcptr,
zlen: slong,
tau: *const acb_struct,
len: slong,
prec: slong,
);
pub fn acb_poly_elliptic_p_series(
res: *mut acb_poly_struct,
z: *const acb_poly_struct,
tau: *const acb_struct,
n: slong,
prec: slong,
);
pub fn _acb_poly_erf_series(g: acb_ptr, h: acb_srcptr, hlen: slong, n: slong, prec: slong);
pub fn acb_poly_erf_series(
g: *mut acb_poly_struct,
h: *const acb_poly_struct,
n: slong,
prec: slong,
);
#[link_name = "acb_poly_allocated_bytes__extern"]
pub fn acb_poly_allocated_bytes(x: *const acb_poly_struct) -> slong;
pub fn cd_poly_roots_initial_values(
z_r: *mut f64,
z_i: *mut f64,
p_r: *const f64,
p_i: *const f64,
n: slong,
z0: *const f64,
d: slong,
);
pub fn cd_poly_weierstrass(
results_r: *mut f64,
results_i: *mut f64,
lc_r: f64,
lc_i: f64,
values_r: *const f64,
values_i: *const f64,
n_start: slong,
n_end: slong,
d: slong,
);
pub fn cd_poly_weierstrass_distinct_orders(
results_r: *mut f64,
results_i: *mut f64,
lc_r: f64,
lc_i: f64,
col_values_r: *const f64,
col_values_i: *const f64,
d: slong,
row_values_r: *const f64,
row_values_i: *const f64,
n_start: slong,
n_end: slong,
);
pub fn cd_poly_wdk_update(
z_r: *mut f64,
z_i: *mut f64,
vp_r: *const f64,
vp_i: *const f64,
wdk_r: *const f64,
wdk_i: *const f64,
n_start: slong,
n_end: slong,
stepsize_bound: f64,
) -> f64;
pub fn cd_poly_refine_roots(z: *mut f64, p: *const f64, n: slong, stepsize_bound: f64) -> f64;
pub fn cd_poly_refine_roots_with_pivot(
z: *mut f64,
p: *const f64,
n: slong,
stepsize_bound: f64,
) -> f64;
pub fn cd_poly_horner(
results_r: *mut f64,
results_i: *mut f64,
values_r: *const f64,
values_i: *const f64,
n_start: slong,
n_end: slong,
coefficients_r: *const f64,
coefficients_i: *const f64,
n: slong,
);
pub fn cd_poly_find_roots(
z: *mut f64,
p: *const f64,
z0: *const f64,
n: slong,
num_iter: slong,
reltol: f64,
) -> f64;
pub fn _acb_poly_find_roots_double(
roots: acb_ptr,
poly: acb_srcptr,
initial: acb_srcptr,
len: slong,
maxiter: slong,
prec: slong,
) -> f64;
}