use crate::deps::*;
use crate::flint::*;
use crate::fmpq_types::*;
use crate::fmpz_types::*;
use crate::gr::*;
use crate::gr_types::*;
pub type gr_poly_roots_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut gr_vec_struct,
arg2: *mut gr_vec_struct,
arg3: *const gr_poly_struct,
arg4: libc::c_int,
arg5: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type gr_poly_roots_op_other = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut gr_vec_struct,
arg2: *mut gr_vec_struct,
arg3: *const gr_poly_struct,
arg4: gr_ctx_ptr,
arg5: libc::c_int,
arg6: gr_ctx_ptr,
) -> libc::c_int,
>;
pub type _gr_method_compose_mod_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_srcptr,
arg5: gr_srcptr,
arg6: slong,
arg7: *mut gr_ctx_struct,
) -> libc::c_int,
>;
pub type _gr_method_compose_mod_preinv_op = ::std::option::Option<
unsafe extern "C" fn(
arg1: gr_ptr,
arg2: gr_srcptr,
arg3: slong,
arg4: gr_srcptr,
arg5: gr_srcptr,
arg6: slong,
arg7: gr_srcptr,
arg8: slong,
arg9: *mut gr_ctx_struct,
) -> libc::c_int,
>;
extern "C" {
pub fn gr_poly_init(poly: *mut gr_poly_struct, ctx: *mut gr_ctx_struct);
pub fn gr_poly_init2(poly: *mut gr_poly_struct, len: slong, ctx: *mut gr_ctx_struct);
pub fn gr_poly_clear(poly: *mut gr_poly_struct, ctx: *mut gr_ctx_struct);
#[link_name = "gr_poly_coeff_ptr__extern"]
pub fn gr_poly_coeff_ptr(
poly: *mut gr_poly_struct,
i: slong,
ctx: *mut gr_ctx_struct,
) -> gr_ptr;
#[link_name = "gr_poly_entry_ptr__extern"]
pub fn gr_poly_entry_ptr(
poly: *mut gr_poly_struct,
i: slong,
ctx: *mut gr_ctx_struct,
) -> gr_ptr;
#[link_name = "gr_poly_coeff_srcptr__extern"]
pub fn gr_poly_coeff_srcptr(
poly: *const gr_poly_struct,
i: slong,
ctx: *mut gr_ctx_struct,
) -> gr_srcptr;
#[link_name = "gr_poly_entry_srcptr__extern"]
pub fn gr_poly_entry_srcptr(
poly: *const gr_poly_struct,
i: slong,
ctx: *mut gr_ctx_struct,
) -> gr_srcptr;
#[link_name = "gr_poly_length__extern"]
pub fn gr_poly_length(poly: *const gr_poly_struct, UNUSED_ctx: *mut gr_ctx_struct) -> slong;
#[link_name = "gr_poly_swap__extern"]
pub fn gr_poly_swap(
poly1: *mut gr_poly_struct,
poly2: *mut gr_poly_struct,
UNUSED_ctx: *mut gr_ctx_struct,
);
pub fn gr_poly_fit_length(poly: *mut gr_poly_struct, len: slong, ctx: *mut gr_ctx_struct);
pub fn _gr_poly_set_length(poly: *mut gr_poly_struct, len: slong, ctx: *mut gr_ctx_struct);
pub fn _gr_poly_normalise(poly: *mut gr_poly_struct, ctx: *mut gr_ctx_struct);
pub fn gr_poly_set(
res: *mut gr_poly_struct,
src: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_reverse(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_reverse(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_truncate(
poly: *mut gr_poly_struct,
src: *const gr_poly_struct,
newlen: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_poly_zero__extern"]
pub fn gr_poly_zero(poly: *mut gr_poly_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_poly_one(poly: *mut gr_poly_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_poly_neg_one(poly: *mut gr_poly_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_poly_gen(poly: *mut gr_poly_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _gr_poly_write(
out: *mut gr_stream_struct,
poly: gr_srcptr,
len: slong,
x: *const libc::c_char,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_write(
out: *mut gr_stream_struct,
poly: *const gr_poly_struct,
x: *const libc::c_char,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_get_str(
res: *mut *mut libc::c_char,
f: gr_srcptr,
len: slong,
x: *const libc::c_char,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_get_str(
res: *mut *mut libc::c_char,
poly: *const gr_poly_struct,
x: *const libc::c_char,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_set_str(
res: gr_ptr,
s: *const libc::c_char,
x: *const libc::c_char,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_str(
res: *mut gr_poly_struct,
s: *const libc::c_char,
x: *const libc::c_char,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_print(poly: *const gr_poly_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn gr_poly_randtest(
poly: *mut gr_poly_struct,
state: *mut flint_rand_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_equal(
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> truth_t;
pub fn gr_poly_equal(
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> truth_t;
pub fn gr_poly_is_zero(poly: *const gr_poly_struct, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_poly_is_one(poly: *const gr_poly_struct, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_poly_is_gen(poly: *const gr_poly_struct, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_poly_is_scalar(poly: *const gr_poly_struct, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_poly_set_scalar(
poly: *mut gr_poly_struct,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_si(
poly: *mut gr_poly_struct,
x: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_ui(
poly: *mut gr_poly_struct,
x: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_fmpz(
poly: *mut gr_poly_struct,
x: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_fmpq(
poly: *mut gr_poly_struct,
x: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_fmpz_poly(
res: *mut gr_poly_struct,
src: *const fmpz_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_fmpq_poly(
res: *mut gr_poly_struct,
src: *const fmpq_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_gr_poly_other(
res: *mut gr_poly_struct,
x: *const gr_poly_struct,
x_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_coeff_scalar(
poly: *mut gr_poly_struct,
n: slong,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_coeff_si(
poly: *mut gr_poly_struct,
n: slong,
x: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_coeff_ui(
poly: *mut gr_poly_struct,
n: slong,
x: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_coeff_fmpz(
poly: *mut gr_poly_struct,
n: slong,
x: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_set_coeff_fmpq(
poly: *mut gr_poly_struct,
n: slong,
x: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_get_coeff_scalar(
res: gr_ptr,
poly: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_neg(
res: *mut gr_poly_struct,
src: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_add(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_add(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_sub(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sub(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mul(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_mullow__extern"]
pub fn _gr_poly_mullow(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mullow_generic(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mullow(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mulmid_complex_reorder(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
nlo: slong,
nhi: slong,
karatsuba: libc::c_int,
ctx: *mut gr_ctx_struct,
real_ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mulmid_complex_reorder(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
nlo: slong,
nhi: slong,
karatsuba: libc::c_int,
ctx: *mut gr_ctx_struct,
real_ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mullow_complex_reorder(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
karatsuba: libc::c_int,
ctx: *mut gr_ctx_struct,
real_ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mullow_complex_reorder(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
karatsuba: libc::c_int,
ctx: *mut gr_ctx_struct,
real_ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mullow_bivariate_KS(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mullow_bivariate_KS(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mullow_toom_serial(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
trunc: slong,
num_points: slong,
splitting_degree: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mullow_toom_serial(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
num_points: slong,
splitting_degree: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_mulmid__extern"]
pub fn _gr_poly_mulmid(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
nlo: slong,
nhi: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mulmid_generic(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
nlo: slong,
nhi: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mulmid(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
nlo: slong,
nhi: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mulmid_classical(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
nlo: slong,
nhi: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mulmid_classical(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
nlo: slong,
nhi: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mulmid_bivariate_KS(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
nlo: slong,
nhi: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mulmid_bivariate_KS(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
nlo: slong,
nhi: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_mullow_classical__extern"]
pub fn _gr_poly_mullow_classical(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mullow_classical(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mul_karatsuba(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul_karatsuba(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mul_toom33(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul_toom33(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_add_scalar(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_add_ui(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_add_si(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_add_fmpz(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_add_fmpq(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sub_scalar(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sub_ui(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sub_si(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sub_fmpz(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sub_fmpq(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul_scalar(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_scalar_mul(
res: *mut gr_poly_struct,
c: gr_srcptr,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul_ui(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul_si(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul_fmpz(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mul_fmpq(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_addmul_scalar(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_submul_scalar(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_pow_series_ui_binexp(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
exp: ulong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_pow_series_ui_binexp(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
exp: ulong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_pow_series_ui(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
exp: ulong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_pow_series_ui(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
exp: ulong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_pow_ui_binexp(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
exp: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_pow_ui_binexp(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
exp: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_pow_ui(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
exp: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_pow_ui(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
exp: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_pow_fmpz(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
exp: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_pow_series_fmpq_recurrence(
h: gr_ptr,
f: gr_srcptr,
flen: slong,
exp: *const fmpq,
len: slong,
precomp: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_pow_series_fmpq_recurrence(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
exp: *const fmpq,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_shift_left(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_shift_left(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_shift_right(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_shift_right(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_scalar(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_inv(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_basecase_preinv1(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
invB: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_basecase_noinv(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_basecase(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divrem_basecase(
Q: *mut gr_poly_struct,
R: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_divconquer_preinv1(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
invB: gr_srcptr,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_divconquer_noinv(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_divconquer(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divrem_divconquer(
Q: *mut gr_poly_struct,
R: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_newton(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divrem_newton(
Q: *mut gr_poly_struct,
R: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_divrem__extern"]
pub fn _gr_poly_divrem(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_generic(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divrem(
Q: *mut gr_poly_struct,
R: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_divconquer_preinv1(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
invB: gr_srcptr,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_divconquer_noinv(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_divconquer(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_divconquer(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_basecase_preinv1(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
invB: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_basecase_noinv(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_basecase(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_basecase(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_newton(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_newton(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_div__extern"]
pub fn _gr_poly_div(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_generic(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_rem(
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_rem(
R: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_newton_n_preinv(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
UNUSED_B: gr_srcptr,
lenB: slong,
Binv: gr_srcptr,
lenBinv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_newton_n_preinv(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
Binv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divrem_newton_n_preinv(
Q: gr_ptr,
R: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
Binv: gr_srcptr,
lenBinv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divrem_newton_n_preinv(
Q: *mut gr_poly_struct,
R: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
Binv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_inv_series_newton(
Qinv: gr_ptr,
Q: gr_srcptr,
Qlen: slong,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_inv_series_newton(
Qinv: *mut gr_poly_struct,
Q: *const gr_poly_struct,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_inv_series_basecase_preinv1(
res: gr_ptr,
A: gr_srcptr,
Alen: slong,
Ainv: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_inv_series_basecase_generic(
Qinv: gr_ptr,
Q: gr_srcptr,
Qlen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_inv_series_basecase(
Qinv: *mut gr_poly_struct,
Q: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_inv_series_basecase__extern"]
pub fn _gr_poly_inv_series_basecase(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_inv_series__extern"]
pub fn _gr_poly_inv_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_inv_series_generic(
Qinv: gr_ptr,
Q: gr_srcptr,
Qlen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_inv_series(
Qinv: *mut gr_poly_struct,
Q: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_series_newton(
res: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_series_newton(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_series_divconquer(
res: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_series_divconquer(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_series_basecase_generic(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_series_basecase(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_series_basecase_preinv1(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
Binv: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_series_basecase_noinv(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_series_invmul(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_series_invmul(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_div_series_basecase__extern"]
pub fn _gr_poly_div_series_basecase(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
g: gr_srcptr,
glen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_div_series__extern"]
pub fn _gr_poly_div_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
g: gr_srcptr,
glen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_div_series_generic(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_div_series(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divexact_basecase_bidirectional(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divexact_basecase_bidirectional(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divexact_bidirectional(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divexact_bidirectional(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divexact_basecase_noinv(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divexact_basecase(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divexact_basecase(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_divexact__extern"]
pub fn _gr_poly_divexact(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divexact_generic(
Q: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divexact(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divexact_series_basecase_noinv(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_divexact_series_basecase(
Q: gr_ptr,
A: gr_srcptr,
Alen: slong,
B: gr_srcptr,
Blen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_divexact_series_basecase(
Q: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_sqrt_series_newton(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sqrt_series_newton(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_sqrt_series_basecase(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sqrt_series_basecase(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_sqrt_series_miller(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sqrt_series_miller(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_sqrt_series__extern"]
pub fn _gr_poly_sqrt_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_sqrt_series_generic(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sqrt_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_rsqrt_series_newton(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_rsqrt_series_newton(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_rsqrt_series_basecase(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_rsqrt_series_basecase(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_rsqrt_series_miller(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_rsqrt_series_miller(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_rsqrt_series__extern"]
pub fn _gr_poly_rsqrt_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_rsqrt_series_generic(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_rsqrt_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_rectangular(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_rectangular(
res: gr_ptr,
poly: *const gr_poly_struct,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_modular(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_modular(
res: gr_ptr,
poly: *const gr_poly_struct,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_horner(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_horner(
res: gr_ptr,
poly: *const gr_poly_struct,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate(
res: gr_ptr,
poly: *const gr_poly_struct,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_other_horner(
res: gr_ptr,
f: gr_srcptr,
len: slong,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_other_horner(
res: gr_ptr,
f: *const gr_poly_struct,
a: gr_srcptr,
a_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_other_rectangular(
res: gr_ptr,
f: gr_srcptr,
len: slong,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_other_rectangular(
res: gr_ptr,
f: *const gr_poly_struct,
a: gr_srcptr,
a_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_other(
res: gr_ptr,
f: gr_srcptr,
len: slong,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_other(
res: gr_ptr,
f: *const gr_poly_struct,
a: gr_srcptr,
a_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_taylor_shift_horner(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_taylor_shift_horner(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_taylor_shift_divconquer(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_taylor_shift_divconquer(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_taylor_shift_convolution(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_taylor_shift_convolution(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_taylor_shift_generic(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_taylor_shift__extern"]
pub fn _gr_poly_taylor_shift(
res: gr_ptr,
f: gr_srcptr,
len: slong,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_taylor_shift(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
c: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_horner(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_horner(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_divconquer(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_divconquer(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_series_horner(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_series_horner(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_series_brent_kung(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_series_brent_kung(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_series_divconquer(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_series_divconquer(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_series(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_series(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_revert_series_lagrange(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_revert_series_lagrange(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_revert_series_lagrange_fast(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_revert_series_lagrange_fast(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_revert_series_newton(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_revert_series_newton(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_revert_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_revert_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_derivative(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_derivative(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_nth_derivative(
res: gr_ptr,
poly: gr_srcptr,
n: ulong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_nth_derivative(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
n: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_integral(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_integral(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_make_monic(
res: gr_ptr,
poly: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_make_monic(
res: *mut gr_poly_struct,
src: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_is_monic(poly: gr_srcptr, len: slong, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn gr_poly_is_monic(res: *const gr_poly_struct, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn _gr_poly_canonical_associate(
res: gr_ptr,
u: gr_ptr,
poly: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_canonical_associate(
res: *mut gr_poly_struct,
u: *mut gr_poly_struct,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_hgcd(
r: gr_ptr,
sgn: *mut slong,
M: *mut gr_ptr,
lenM: *mut slong,
A: gr_ptr,
lenA: *mut slong,
B: gr_ptr,
lenB: *mut slong,
a: gr_srcptr,
lena: slong,
b: gr_srcptr,
lenb: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_gcd_hgcd(
G: gr_ptr,
_lenG: *mut slong,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
inner_cutoff: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_gcd_hgcd(
G: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
inner_cutoff: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_gcd_euclidean(
G: gr_ptr,
lenG: *mut slong,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_gcd_euclidean(
G: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_gcd_subresultant(
G: gr_ptr,
lenG: *mut slong,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_gcd_subresultant(
G: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_gcd_generic(
G: gr_ptr,
lenG: *mut slong,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_gcd__extern"]
pub fn _gr_poly_gcd(
G: gr_ptr,
lenG: *mut slong,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_gcd(
G: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_gcd_wrapper(
gcd_impl: gr_method_poly_gcd_op,
canonicalise_unit: libc::c_int,
G: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_xgcd_euclidean(
lenG: *mut slong,
G: gr_ptr,
S: gr_ptr,
T: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_xgcd_euclidean(
G: *mut gr_poly_struct,
S: *mut gr_poly_struct,
T: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_xgcd_hgcd(
Glen: *mut slong,
G: gr_ptr,
S: gr_ptr,
T: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
hgcd_cutoff: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_xgcd_hgcd(
G: *mut gr_poly_struct,
S: *mut gr_poly_struct,
T: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
hgcd_cutoff: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_xgcd__extern"]
pub fn _gr_poly_xgcd(
Glen: *mut slong,
G: gr_ptr,
S: gr_ptr,
T: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_xgcd_generic(
Glen: *mut slong,
G: gr_ptr,
S: gr_ptr,
T: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_xgcd_wrapper(
_xgcd_op: gr_method_poly_xgcd_op,
G: *mut gr_poly_struct,
S: *mut gr_poly_struct,
T: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_xgcd(
G: *mut gr_poly_struct,
S: *mut gr_poly_struct,
T: *mut gr_poly_struct,
A: *const gr_poly_struct,
B: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_resultant_euclidean(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_resultant_euclidean(
r: gr_ptr,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_resultant_hgcd(
res: gr_ptr,
A: gr_srcptr,
lenA: slong,
B: gr_srcptr,
lenB: slong,
inner_cutoff: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_resultant_hgcd(
r: gr_ptr,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
inner_cutoff: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_resultant_sylvester(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_resultant_sylvester(
r: gr_ptr,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_resultant_small(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_resultant_small(
r: gr_ptr,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_resultant(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_resultant(
r: gr_ptr,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_newton_basis_evaluate(
res: gr_ptr,
basis: gr_srcptr,
poly: gr_srcptr,
len: slong,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_newton_basis_evaluate(
res: gr_ptr,
basis: *const gr_vec_struct,
poly: *const gr_poly_struct,
x: gr_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_newton_basis_interpolate_exact(
res: gr_ptr,
basis: gr_srcptr,
ys: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_newton_basis_interpolate_exact(
res: *mut gr_poly_struct,
basis: *const gr_vec_struct,
ys: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_newton_basis_interpolate(
res: gr_ptr,
basis: gr_srcptr,
ys: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_newton_basis_interpolate(
res: *mut gr_poly_struct,
basis: *const gr_vec_struct,
ys: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_newton_basis_to_monomial(
res: gr_ptr,
basis: gr_srcptr,
poly: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_newton_basis_to_monomial(
res: *mut gr_poly_struct,
basis: *const gr_vec_struct,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_newton_basis_from_monomial(
res: gr_ptr,
basis: gr_srcptr,
poly: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_newton_basis_from_monomial(
res: *mut gr_poly_struct,
basis: *const gr_vec_struct,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_tree_alloc(len: slong, ctx: *mut gr_ctx_struct) -> *mut gr_ptr;
pub fn _gr_poly_tree_free(tree: *mut gr_ptr, len: slong, ctx: *mut gr_ctx_struct);
pub fn _gr_poly_tree_build(
tree: *mut gr_ptr,
roots: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_product_roots(
poly: gr_ptr,
xs: gr_srcptr,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_product_roots(
poly: *mut gr_poly_struct,
xs: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_vec_fast_precomp(
vs: gr_ptr,
poly: gr_srcptr,
plen: slong,
tree: *const gr_ptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_vec_fast(
ys: gr_ptr,
poly: gr_srcptr,
plen: slong,
xs: gr_srcptr,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_vec_fast(
ys: *mut gr_vec_struct,
poly: *const gr_poly_struct,
xs: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_evaluate_vec_iter(
ys: gr_ptr,
poly: gr_srcptr,
plen: slong,
xs: gr_srcptr,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_evaluate_vec_iter(
ys: *mut gr_vec_struct,
poly: *const gr_poly_struct,
xs: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_interpolate_exact_newton(
res: gr_ptr,
xs: gr_srcptr,
ys: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_interpolate_exact_newton(
poly: *mut gr_poly_struct,
xs: *const gr_vec_struct,
ys: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_interpolate_newton(
res: gr_ptr,
xs: gr_srcptr,
ys: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_interpolate_newton(
poly: *mut gr_poly_struct,
xs: *const gr_vec_struct,
ys: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_interpolation_weights(
w: gr_ptr,
tree: *const gr_ptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_interpolate_fast_precomp(
poly: gr_ptr,
ys: gr_srcptr,
tree: *const gr_ptr,
weights: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_interpolate_fast(
res: gr_ptr,
xs: gr_srcptr,
ys: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_interpolate_fast(
poly: *mut gr_poly_struct,
xs: *const gr_vec_struct,
ys: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_interpolate_exact(
res: gr_ptr,
xs: gr_srcptr,
ys: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_interpolate_exact(
poly: *mut gr_poly_struct,
xs: *const gr_vec_struct,
ys: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_interpolate(
res: gr_ptr,
xs: gr_srcptr,
ys: gr_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_interpolate(
poly: *mut gr_poly_struct,
xs: *const gr_vec_struct,
ys: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_factor_squarefree(
c: gr_ptr,
fac: *mut gr_vec_struct,
exp: *mut gr_vec_struct,
F: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_squarefree_part(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_leading_taylor_shift(
shift: gr_ptr,
p: *const gr_poly_struct,
q: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_shift_equivalent(
shift: *mut fmpz,
p: *const gr_poly_struct,
q: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> truth_t;
pub fn gr_poly_dispersion_resultant(
disp: *mut fmpz,
disp_set: *mut gr_vec_struct,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_dispersion_from_factors(
disp: *mut fmpz,
disp_set: *mut gr_vec_struct,
ffac: *const gr_vec_struct,
gfac: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_dispersion_factor(
disp: *mut fmpz,
disp_set: *mut gr_vec_struct,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_dispersion(
disp: *mut fmpz,
disp_set: *mut gr_vec_struct,
f: *const gr_poly_struct,
g: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_shiftless_decomposition_from_factors(
slfac: *mut gr_vec_struct,
slshifts: *mut gr_vec_struct,
slmult: *mut gr_vec_struct,
fac: *const gr_vec_struct,
mult: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_shiftless_decomposition_from_factors(
slfac: *mut gr_vec_struct,
slshifts: *mut gr_vec_struct,
slmult: *mut gr_vec_struct,
fac: *const gr_vec_struct,
mult: *const gr_vec_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_shiftless_decomposition_factor(
c: gr_ptr,
slfac: *mut gr_vec_struct,
slshifts: *mut gr_vec_struct,
slmult: *mut gr_vec_struct,
pol: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_shiftless_decomposition(
c: gr_ptr,
slfac: *mut gr_vec_struct,
slshifts: *mut gr_vec_struct,
slmult: *mut gr_vec_struct,
pol: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_refine_roots_aberth(
w: gr_ptr,
f: gr_srcptr,
f_prime: gr_srcptr,
deg: slong,
z: gr_srcptr,
progressive: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_refine_roots_wdk(
w: gr_ptr,
f: gr_srcptr,
deg: slong,
z: gr_srcptr,
progressive: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_poly_roots__extern"]
pub fn gr_poly_roots(
roots: *mut gr_vec_struct,
mult: *mut gr_vec_struct,
poly: *const gr_poly_struct,
flags: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "gr_poly_roots_other__extern"]
pub fn gr_poly_roots_other(
roots: *mut gr_vec_struct,
mult: *mut gr_vec_struct,
poly: *const gr_poly_struct,
poly_ctx: *mut gr_ctx_struct,
flags: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_asin_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_asin_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_asinh_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_asinh_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_acos_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_acos_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_acosh_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_acosh_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_atan_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_atan_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_atanh_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_atanh_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_log_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_log_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_log1p_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_log1p_series(
res: *mut gr_poly_struct,
f: *const gr_poly_struct,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_exp_series_basecase(
f: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_exp_series_basecase(
f: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_exp_series_basecase_mul(
f: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_exp_series_basecase_mul(
f: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_exp_series_newton(
f: gr_ptr,
g: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_exp_series_newton(
f: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "_gr_poly_exp_series__extern"]
pub fn _gr_poly_exp_series(
res: gr_ptr,
f: gr_srcptr,
flen: slong,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_exp_series_generic(
f: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_exp_series(
f: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_sin_cos_series_basecase(
s: gr_ptr,
c: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
times_pi: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sin_cos_series_basecase(
s: *mut gr_poly_struct,
c: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
times_pi: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_sin_cos_series_tangent(
s: gr_ptr,
c: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
times_pi: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_sin_cos_series_tangent(
s: *mut gr_poly_struct,
c: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
times_pi: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_tan_series_basecase(
f: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_tan_series_basecase(
f: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_tan_series_newton(
f: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_tan_series_newton(
f: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
cutoff: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_tan_series(
f: gr_ptr,
h: gr_srcptr,
hlen: slong,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_tan_series(
f: *mut gr_poly_struct,
h: *const gr_poly_struct,
n: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mulmod(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
f: gr_srcptr,
lenf: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mulmod(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
f: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_mulmod_preinv(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
len2: slong,
f: gr_srcptr,
lenf: slong,
finv: gr_srcptr,
lenfinv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_mulmod_preinv(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
f: *const gr_poly_struct,
finv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_powmod_fmpz_binexp(
res: gr_ptr,
poly: gr_srcptr,
e: *const fmpz,
f: gr_srcptr,
lenf: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_powmod_fmpz_binexp(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
e: *const fmpz,
f: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_powmod_fmpz_binexp_preinv(
res: gr_ptr,
poly: gr_srcptr,
e: *const fmpz,
f: gr_srcptr,
lenf: slong,
finv: gr_srcptr,
lenfinv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_powmod_fmpz_binexp_preinv(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
e: *const fmpz,
f: *const gr_poly_struct,
finv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_powmod_x_fmpz_preinv(
res: gr_ptr,
e: *const fmpz,
f: gr_srcptr,
lenf: slong,
finv: gr_srcptr,
lenfinv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_powmod_x_fmpz_preinv(
res: *mut gr_poly_struct,
e: *const fmpz,
f: *const gr_poly_struct,
finv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_powmod_ui_binexp(
res: gr_ptr,
poly: gr_srcptr,
e: ulong,
f: gr_srcptr,
lenf: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_powmod_ui_binexp(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
e: ulong,
f: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_powmod_ui_binexp_preinv(
res: gr_ptr,
poly: gr_srcptr,
e: ulong,
f: gr_srcptr,
lenf: slong,
finv: gr_srcptr,
lenfinv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_powmod_ui_binexp_preinv(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
e: ulong,
f: *const gr_poly_struct,
finv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_powmod_fmpz_sliding_preinv(
res: gr_ptr,
poly: gr_srcptr,
e: *const fmpz,
k: ulong,
f: gr_srcptr,
lenf: slong,
finv: gr_srcptr,
lenfinv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_powmod_fmpz_sliding_preinv(
res: *mut gr_poly_struct,
poly: *const gr_poly_struct,
e: *const fmpz,
k: ulong,
f: *const gr_poly_struct,
finv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_wrapper(
_compose_mod: _gr_method_compose_mod_op,
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_preinv_wrapper(
_compose_mod: _gr_method_compose_mod_preinv_op,
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
poly3inv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_mod_horner(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
poly3: gr_srcptr,
len3: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_horner(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_mod_brent_kung(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
poly3: gr_srcptr,
len3: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_brent_kung(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_mod(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
poly3: gr_srcptr,
len3: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_mod_horner_preinv(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
poly3: gr_srcptr,
len3: slong,
poly3inv: gr_srcptr,
inv3len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_horner_preinv(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
poly3inv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_mod_brent_kung_preinv(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
poly3: gr_srcptr,
len3: slong,
poly3inv: gr_srcptr,
inv3len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_brent_kung_preinv(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
poly3inv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_mod_preinv(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
poly2: gr_srcptr,
poly3: gr_srcptr,
len3: slong,
poly3inv: gr_srcptr,
inv3len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_preinv(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly3: *const gr_poly_struct,
poly3inv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_reduce_matrix_mod_poly(
A: *mut gr_mat_struct,
B: *const gr_mat_struct,
f: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_precompute_matrix(
A: *mut gr_mat_struct,
poly1: gr_srcptr,
poly2: gr_srcptr,
len2: slong,
poly2inv: gr_srcptr,
len2inv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_precompute_matrix(
A: *mut gr_mat_struct,
poly1: *const gr_poly_struct,
poly2: *const gr_poly_struct,
poly2inv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_compose_mod_brent_kung_precomp_preinv(
res: gr_ptr,
poly1: gr_srcptr,
len1: slong,
A: *const gr_mat_struct,
poly3: gr_srcptr,
len3: slong,
poly3inv: gr_srcptr,
len3inv: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn gr_poly_compose_mod_brent_kung_precomp_preinv(
res: *mut gr_poly_struct,
poly1: *const gr_poly_struct,
A: *const gr_mat_struct,
poly3: *const gr_poly_struct,
poly3inv: *const gr_poly_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _gr_poly_test_mullow(
mullow_impl: gr_method_poly_binary_trunc_op,
mullow_ref: gr_method_poly_binary_trunc_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_mulmid(
mulmid_impl: gr_method_poly_binary_trunc2_op,
mulmid_ref: gr_method_poly_binary_trunc2_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_approx_mulmid_pos_entrywise_accurate(
mulmid_impl: gr_method_poly_binary_trunc2_op,
mulmid_ref: gr_method_poly_binary_trunc2_op,
rel_tol: gr_srcptr,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_divrem(
divrem_impl: gr_method_poly_binary_binary_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_div(
div_impl: gr_method_poly_binary_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_inv_series(
inv_series_impl: gr_method_poly_unary_trunc_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_div_series(
div_series_impl: gr_method_poly_binary_trunc_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_gcd_field(
gcd_impl: gr_method_poly_gcd_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_gcd_ufd(
gcd_impl: gr_method_poly_gcd_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
pub fn _gr_poly_test_xgcd(
xgcd_impl: gr_method_poly_xgcd_op,
state: *mut flint_rand_struct,
iters: slong,
maxn: slong,
ctx: *mut gr_ctx_struct,
);
}