use crate::deps::*;
use crate::flint::*;
use crate::mpoly_types::*;
use crate::n_poly_types::*;
use crate::nmod_mpoly::*;
use crate::nmod_types::*;
#[repr(C)]
pub struct nmod_mpolyv_struct {
pub coeffs: *mut nmod_mpoly_struct,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_mpolyv_struct"][::std::mem::size_of::<nmod_mpolyv_struct>() - 24usize];
["Alignment of nmod_mpolyv_struct"][::std::mem::align_of::<nmod_mpolyv_struct>() - 8usize];
["Offset of field: nmod_mpolyv_struct::coeffs"]
[::std::mem::offset_of!(nmod_mpolyv_struct, coeffs) - 0usize];
["Offset of field: nmod_mpolyv_struct::alloc"]
[::std::mem::offset_of!(nmod_mpolyv_struct, alloc) - 8usize];
["Offset of field: nmod_mpolyv_struct::length"]
[::std::mem::offset_of!(nmod_mpolyv_struct, length) - 16usize];
};
impl Default for nmod_mpolyv_struct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type nmod_mpolyv_t = [nmod_mpolyv_struct; 1usize];
#[repr(C)]
pub struct nmod_mpoly_pfrac_struct {
pub bits: flint_bitcnt_t,
pub w: slong,
pub r: slong,
pub inv_prod_dbetas: *mut n_poly_struct,
pub inv_prod_dbetas_mvar: *mut nmod_mpoly_struct,
pub dbetas: *mut n_poly_struct,
pub dbetas_mvar: *mut nmod_mpoly_struct,
pub prod_mbetas: *mut nmod_mpoly_struct,
pub prod_mbetas_coeffs: *mut nmod_mpolyv_struct,
pub mbetas: *mut nmod_mpoly_struct,
pub deltas: *mut nmod_mpoly_struct,
pub xalpha: *mut nmod_mpoly_struct,
pub q: *mut nmod_mpoly_struct,
pub G: *mut nmod_mpoly_geobucket_struct,
pub qt: *mut nmod_mpoly_struct,
pub newt: *mut nmod_mpoly_struct,
pub delta_coeffs: *mut nmod_mpolyv_struct,
pub T: nmod_mpoly_t,
pub Q: nmod_mpoly_t,
pub R: nmod_mpoly_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_mpoly_pfrac_struct"]
[::std::mem::size_of::<nmod_mpoly_pfrac_struct>() - 280usize];
["Alignment of nmod_mpoly_pfrac_struct"]
[::std::mem::align_of::<nmod_mpoly_pfrac_struct>() - 8usize];
["Offset of field: nmod_mpoly_pfrac_struct::bits"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, bits) - 0usize];
["Offset of field: nmod_mpoly_pfrac_struct::w"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, w) - 8usize];
["Offset of field: nmod_mpoly_pfrac_struct::r"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, r) - 16usize];
["Offset of field: nmod_mpoly_pfrac_struct::inv_prod_dbetas"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, inv_prod_dbetas) - 24usize];
["Offset of field: nmod_mpoly_pfrac_struct::inv_prod_dbetas_mvar"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, inv_prod_dbetas_mvar) - 32usize];
["Offset of field: nmod_mpoly_pfrac_struct::dbetas"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, dbetas) - 40usize];
["Offset of field: nmod_mpoly_pfrac_struct::dbetas_mvar"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, dbetas_mvar) - 48usize];
["Offset of field: nmod_mpoly_pfrac_struct::prod_mbetas"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, prod_mbetas) - 56usize];
["Offset of field: nmod_mpoly_pfrac_struct::prod_mbetas_coeffs"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, prod_mbetas_coeffs) - 64usize];
["Offset of field: nmod_mpoly_pfrac_struct::mbetas"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, mbetas) - 72usize];
["Offset of field: nmod_mpoly_pfrac_struct::deltas"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, deltas) - 80usize];
["Offset of field: nmod_mpoly_pfrac_struct::xalpha"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, xalpha) - 88usize];
["Offset of field: nmod_mpoly_pfrac_struct::q"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, q) - 96usize];
["Offset of field: nmod_mpoly_pfrac_struct::G"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, G) - 104usize];
["Offset of field: nmod_mpoly_pfrac_struct::qt"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, qt) - 112usize];
["Offset of field: nmod_mpoly_pfrac_struct::newt"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, newt) - 120usize];
["Offset of field: nmod_mpoly_pfrac_struct::delta_coeffs"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, delta_coeffs) - 128usize];
["Offset of field: nmod_mpoly_pfrac_struct::T"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, T) - 136usize];
["Offset of field: nmod_mpoly_pfrac_struct::Q"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, Q) - 184usize];
["Offset of field: nmod_mpoly_pfrac_struct::R"]
[::std::mem::offset_of!(nmod_mpoly_pfrac_struct, R) - 232usize];
};
impl Default for nmod_mpoly_pfrac_struct {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}
pub type nmod_mpoly_pfrac_t = [nmod_mpoly_pfrac_struct; 1usize];
extern "C" {
pub fn nmod_mpoly_get_bpoly(
A: *mut n_bpoly_struct,
B: *const nmod_mpoly_struct,
var0: slong,
var1: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_bpoly(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const n_bpoly_struct,
var0: slong,
var1: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn n_bpoly_mod_factor_smprime(
c: *mut n_poly_struct,
F: *mut n_tpoly_struct,
B: *mut n_bpoly_struct,
allow_shift: libc::c_int,
ctx: nmod_t,
) -> libc::c_int;
pub fn n_bpoly_mod_factor_lgprime(
c: *mut n_poly_struct,
F: *mut n_tpoly_struct,
B: *mut n_bpoly_struct,
ctx: nmod_t,
);
pub fn nmod_mat_is_reduced(N: *const nmod_mat_struct) -> libc::c_int;
pub fn nmod_mat_init_nullspace_tr(X: *mut nmod_mat_struct, tmp: *mut nmod_mat_struct);
#[link_name = "nmod_mpoly_factor_init__extern"]
pub fn nmod_mpoly_factor_init(
f: *mut nmod_mpoly_factor_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_init2(
f: *mut nmod_mpoly_factor_struct,
alloc: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_realloc(
f: *mut nmod_mpoly_factor_struct,
alloc: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_fit_length(
f: *mut nmod_mpoly_factor_struct,
len: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_clear(
f: *mut nmod_mpoly_factor_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_factor_length__extern"]
pub fn nmod_mpoly_factor_length(
f: *const nmod_mpoly_factor_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
#[link_name = "nmod_mpoly_factor_get_constant_ui__extern"]
pub fn nmod_mpoly_factor_get_constant_ui(
f: *const nmod_mpoly_factor_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
#[link_name = "nmod_mpoly_factor_get_base__extern"]
pub fn nmod_mpoly_factor_get_base(
p: *mut nmod_mpoly_struct,
f: *const nmod_mpoly_factor_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_factor_swap_base__extern"]
pub fn nmod_mpoly_factor_swap_base(
p: *mut nmod_mpoly_struct,
f: *mut nmod_mpoly_factor_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_get_exp_si(
f: *mut nmod_mpoly_factor_struct,
i: slong,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_factor_append_ui(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
e: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_append_fmpz(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
e: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_set(
f: *mut nmod_mpoly_factor_struct,
g: *const nmod_mpoly_factor_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_print_pretty(
f: *const nmod_mpoly_factor_struct,
vars: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_content(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_squarefree(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_separable(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
sep: libc::c_int,
) -> libc::c_int;
pub fn nmod_mpoly_factor(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_sort(
f: *mut nmod_mpoly_factor_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_factor_cmp(
A: *const nmod_mpoly_factor_struct,
B: *const nmod_mpoly_factor_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_expand(
A: *mut nmod_mpoly_struct,
f: *const nmod_mpoly_factor_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_factor_matches__extern"]
pub fn nmod_mpoly_factor_matches(
a: *const nmod_mpoly_struct,
f: *const nmod_mpoly_factor_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_fix_units(
f: *mut nmod_mpoly_factor_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_factor_swap__extern"]
pub fn nmod_mpoly_factor_swap(
f: *mut nmod_mpoly_factor_struct,
g: *mut nmod_mpoly_factor_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_factor_one__extern"]
pub fn nmod_mpoly_factor_one(
f: *mut nmod_mpoly_factor_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_get_lead0(
c: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_set_lead0(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
c: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _n_poly_vec_max_degree(A: *const n_poly_struct, Alen: slong) -> slong;
pub fn _n_poly_vec_mul_nmod_intertible(
A: *mut n_poly_struct,
Alen: slong,
c: ulong,
ctx: nmod_t,
);
pub fn _n_poly_vec_mod_mul_poly(
A: *mut n_poly_struct,
Alen: slong,
g: *const n_poly_struct,
ctx: nmod_t,
);
pub fn _n_poly_vec_mod_divexact_poly(
A: *mut n_poly_struct,
Alen: slong,
g: *const n_poly_struct,
ctx: nmod_t,
);
pub fn _n_poly_vec_mod_content(
g: *mut n_poly_struct,
A: *const n_poly_struct,
Alen: slong,
ctx: nmod_t,
);
pub fn _n_poly_vec_mod_remove_content(
g: *mut n_poly_struct,
A: *mut n_poly_struct,
Alen: slong,
ctx: nmod_t,
);
pub fn nmod_mpoly_get_polyu1n(
A: *mut n_polyun_struct,
B: *const nmod_mpoly_struct,
varx: slong,
vary: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_polyu1n(
B: *mut nmod_mpoly_struct,
A: *const n_polyun_struct,
varx: slong,
vary: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpolyv_init__extern"]
pub fn nmod_mpolyv_init(A: *mut nmod_mpolyv_struct, UNUSED_ctx: *const nmod_mpoly_ctx_struct);
#[link_name = "nmod_mpolyv_swap__extern"]
pub fn nmod_mpolyv_swap(
A: *mut nmod_mpolyv_struct,
B: *mut nmod_mpolyv_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyv_clear(A: *mut nmod_mpolyv_struct, ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyv_print_pretty(
poly: *const nmod_mpolyv_struct,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyv_fit_length(
A: *mut nmod_mpolyv_struct,
length: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyv_set_coeff(
A: *mut nmod_mpolyv_struct,
i: slong,
c: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_to_mpolyv(
A: *mut nmod_mpolyv_struct,
B: *const nmod_mpoly_struct,
xalpha: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_from_mpolyv(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const nmod_mpolyv_struct,
xalpha: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_vec_content_mpoly(
g: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
Alen: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_vec_divexact_mpoly(
A: *mut nmod_mpoly_struct,
Alen: slong,
c: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_vec_mul_mpoly(
A: *mut nmod_mpoly_struct,
Alen: slong,
c: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_factor_separable(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
sep: libc::c_int,
) -> libc::c_int;
pub fn nmod_mpoly_factor_lcc_wang(
lc_divs: *mut nmod_mpoly_struct,
lcAfac: *const nmod_mpoly_factor_struct,
Auc: *const n_poly_struct,
Auf: *const n_bpoly_struct,
r: slong,
alpha: *const n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_smprime_zassenhaus(
fac: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_medprime_zassenhaus(
fac: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_lgprime_zassenhaus(
fac: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_smprime_wang(
fac: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
lcAfac: *const nmod_mpoly_factor_struct,
lcA: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_medprime_wang(
Af: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
lcAfac: *const nmod_mpoly_factor_struct,
lcA: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_lgprime_wang(
Af: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
lcAfac: *const nmod_mpoly_factor_struct,
lcA: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_smprime_zippel(
fac: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
lcAfac: *const nmod_mpoly_factor_struct,
lcA: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_medprime_zippel(
Af: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
lcAfac: *const nmod_mpoly_factor_struct,
lcA: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_irred_lgprime_zippel(
Af: *mut nmod_mpolyv_struct,
A: *const nmod_mpoly_struct,
lcAfac: *const nmod_mpoly_factor_struct,
lcA: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_compression_do(
L: *mut nmod_mpoly_struct,
Lctx: *const nmod_mpoly_ctx_struct,
Acoeffs: *mut ulong,
Alen: slong,
M: *mut mpoly_compression_struct,
);
pub fn nmod_mpoly_compression_undo(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
Actx: *const nmod_mpoly_ctx_struct,
L: *mut nmod_mpoly_struct,
Lctx: *const nmod_mpoly_ctx_struct,
M: *mut mpoly_compression_struct,
);
pub fn nmod_mpolyu_is_canonical(
A: *const nmod_mpolyu_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyu3_print_pretty(
A: *const nmod_mpolyu_struct,
var0: *const libc::c_char,
var1: *const libc::c_char,
var2: *const libc::c_char,
vars: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_pfrac_init(
Iv: *mut nmod_mpoly_pfrac_struct,
bits: flint_bitcnt_t,
l: slong,
r: slong,
betas: *const nmod_mpoly_struct,
alpha: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_pfrac_clear(
Iv: *mut nmod_mpoly_pfrac_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_pfrac(
r: slong,
t: *mut nmod_mpoly_struct,
deg: *const slong,
Iv: *mut nmod_mpoly_pfrac_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_hlift(
m: slong,
f: *mut nmod_mpoly_struct,
r: slong,
alpha: *const ulong,
A: *const nmod_mpoly_struct,
degs: *const slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn n_bpoly_mod_pfrac(
r: slong,
C: *mut n_bpoly_struct,
C_deg1_bound: *mut slong,
A: *mut n_bpoly_struct,
B: *mut n_bpoly_struct,
mod_: nmod_t,
) -> libc::c_int;
pub fn n_bpoly_mod_hlift2(
A: *mut n_bpoly_struct,
B0: *mut n_bpoly_struct,
B1: *mut n_bpoly_struct,
alpha: ulong,
degree_inner: slong,
mod_: nmod_t,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_bpoly_mod_hlift2_cubic(
A: *mut n_bpoly_struct,
B0: *mut n_bpoly_struct,
B1: *mut n_bpoly_struct,
alpha: ulong,
degree_inner: slong,
ctx: nmod_t,
E: *mut nmod_eval_interp_struct,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_bpoly_mod_hlift(
r: slong,
A: *mut n_bpoly_struct,
B: *mut n_bpoly_struct,
alpha: ulong,
degree_inner: slong,
mod_: nmod_t,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_bpoly_mod_hlift_cubic(
r: slong,
A: *mut n_bpoly_struct,
B: *mut n_bpoly_struct,
alpha: ulong,
degree_inner: slong,
mod_: nmod_t,
E: *mut nmod_eval_interp_struct,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_polyu3_mod_hlift(
r: slong,
BB: *mut n_polyun_struct,
A: *mut n_polyu_struct,
B: *mut n_polyu_struct,
beta: ulong,
degree_inner: slong,
ctx: nmod_t,
) -> libc::c_int;
pub fn nmod_mpoly_hlift_zippel(
m: slong,
B: *mut nmod_mpoly_struct,
r: slong,
alpha: *const ulong,
A: *const nmod_mpoly_struct,
degs: *const slong,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_algo(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
algo: libc::c_uint,
) -> libc::c_int;
pub fn nmod_mpoly_factor_zassenhaus(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_wang(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_factor_zippel(
f: *mut nmod_mpoly_factor_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_evaluate_rest_n_poly(
E: *mut n_poly_struct,
starts: *mut slong,
ends: *mut slong,
stops: *mut slong,
es: *mut ulong,
Acoeffs: *const ulong,
Aexps: *const ulong,
Alen: slong,
var: slong,
alphas: *const n_poly_struct,
offsets: *const slong,
shifts: *const slong,
N: slong,
mask: ulong,
nvars: slong,
ctx: nmod_t,
) -> libc::c_int;
pub fn _nmod_mpoly_eval_rest_to_n_bpoly(
E: *mut n_bpoly_struct,
A: *const nmod_mpoly_struct,
alphabetas: *const n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_set_n_bpoly_var1_zero(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const n_bpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyl_gcdp_zippel_smprime(
G: *mut nmod_mpoly_struct,
Abar: *mut nmod_mpoly_struct,
Bbar: *mut nmod_mpoly_struct,
A: *mut nmod_mpoly_struct,
B: *mut nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpolyl_gcds_zippel(
G: *mut nmod_mpoly_struct,
Gmarks: *const ulong,
Gmarkslen: slong,
A: *mut nmod_mpoly_struct,
B: *mut nmod_mpoly_struct,
perm: *mut slong,
l: slong,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
Gdegbound: *mut slong,
Amarks: *mut n_poly_struct,
Bmarks: *mut n_poly_struct,
) -> libc::c_int;
pub fn mpoly_monomial_evals_nmod(
EH: *mut n_poly_struct,
Aexps: *const ulong,
Alen: slong,
Abits: flint_bitcnt_t,
alpha_caches: *mut n_poly_struct,
start: slong,
stop: slong,
mctx: *const mpoly_ctx_struct,
fpctx: nmod_t,
);
pub fn mpoly1_monomial_evals_nmod(
EH: *mut n_polyun_struct,
Aexps: *const ulong,
Abits: flint_bitcnt_t,
Amarks: *const ulong,
Amarkslen: slong,
alpha_caches: *mut n_poly_struct,
m: slong,
mctx: *const mpoly_ctx_struct,
fpctx: nmod_t,
);
pub fn mpoly2_monomial_evals_nmod(
EH: *mut n_polyun_struct,
Aexps: *const ulong,
Abits: flint_bitcnt_t,
Amarks: *mut ulong,
Amarkslen: slong,
alpha_caches: *mut n_poly_struct,
m: slong,
mctx: *const mpoly_ctx_struct,
fpctx: nmod_t,
);
pub fn n_polyun_zip_start(Z: *mut n_polyun_struct, H: *mut n_polyun_struct, req_images: slong);
pub fn n_polyu2n_add_zip_must_match(
Z: *mut n_polyun_struct,
A: *const n_bpoly_struct,
cur_length: slong,
) -> libc::c_int;
pub fn n_polyun_zip_solve(
A: *mut nmod_mpoly_struct,
Z: *mut n_polyun_struct,
H: *mut n_polyun_struct,
M: *mut n_polyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
}