use crate::deps::*;
use crate::flint::*;
use crate::fq_nmod_mpoly::*;
use crate::fq_nmod_types::*;
use crate::mpoly_types::*;
use crate::n_poly_types::*;
use crate::nmod_types::*;
#[repr(C)]
pub struct fq_nmod_mpoly_factor_struct {
pub constant: fq_nmod_t,
pub poly: *mut fq_nmod_mpoly_struct,
pub exp: *mut fmpz,
pub num: slong,
pub alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of fq_nmod_mpoly_factor_struct"]
[::std::mem::size_of::<fq_nmod_mpoly_factor_struct>() - 80usize];
["Alignment of fq_nmod_mpoly_factor_struct"]
[::std::mem::align_of::<fq_nmod_mpoly_factor_struct>() - 8usize];
["Offset of field: fq_nmod_mpoly_factor_struct::constant"]
[::std::mem::offset_of!(fq_nmod_mpoly_factor_struct, constant) - 0usize];
["Offset of field: fq_nmod_mpoly_factor_struct::poly"]
[::std::mem::offset_of!(fq_nmod_mpoly_factor_struct, poly) - 48usize];
["Offset of field: fq_nmod_mpoly_factor_struct::exp"]
[::std::mem::offset_of!(fq_nmod_mpoly_factor_struct, exp) - 56usize];
["Offset of field: fq_nmod_mpoly_factor_struct::num"]
[::std::mem::offset_of!(fq_nmod_mpoly_factor_struct, num) - 64usize];
["Offset of field: fq_nmod_mpoly_factor_struct::alloc"]
[::std::mem::offset_of!(fq_nmod_mpoly_factor_struct, alloc) - 72usize];
};
impl Default for fq_nmod_mpoly_factor_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 fq_nmod_mpoly_factor_t = [fq_nmod_mpoly_factor_struct; 1usize];
#[repr(C)]
pub struct fq_nmod_mpolyv_struct {
pub coeffs: *mut fq_nmod_mpoly_struct,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of fq_nmod_mpolyv_struct"][::std::mem::size_of::<fq_nmod_mpolyv_struct>() - 24usize];
["Alignment of fq_nmod_mpolyv_struct"]
[::std::mem::align_of::<fq_nmod_mpolyv_struct>() - 8usize];
["Offset of field: fq_nmod_mpolyv_struct::coeffs"]
[::std::mem::offset_of!(fq_nmod_mpolyv_struct, coeffs) - 0usize];
["Offset of field: fq_nmod_mpolyv_struct::alloc"]
[::std::mem::offset_of!(fq_nmod_mpolyv_struct, alloc) - 8usize];
["Offset of field: fq_nmod_mpolyv_struct::length"]
[::std::mem::offset_of!(fq_nmod_mpolyv_struct, length) - 16usize];
};
impl Default for fq_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 fq_nmod_mpolyv_t = [fq_nmod_mpolyv_struct; 1usize];
#[repr(C)]
pub struct fq_nmod_mpoly_pfrac_struct {
pub bits: flint_bitcnt_t,
pub w: slong,
pub r: slong,
pub inv_prod_dbetas: *mut fq_nmod_poly_struct,
pub inv_prod_dbetas_mvar: *mut fq_nmod_mpoly_struct,
pub dbetas: *mut fq_nmod_poly_struct,
pub dbetas_mvar: *mut fq_nmod_mpoly_struct,
pub prod_mbetas: *mut fq_nmod_mpoly_struct,
pub prod_mbetas_coeffs: *mut fq_nmod_mpolyv_struct,
pub mbetas: *mut fq_nmod_mpoly_struct,
pub deltas: *mut fq_nmod_mpoly_struct,
pub xalpha: *mut fq_nmod_mpoly_struct,
pub q: *mut fq_nmod_mpoly_struct,
pub G: *mut fq_nmod_mpoly_geobucket_struct,
pub qt: *mut fq_nmod_mpoly_struct,
pub newt: *mut fq_nmod_mpoly_struct,
pub delta_coeffs: *mut fq_nmod_mpolyv_struct,
pub T: fq_nmod_mpoly_t,
pub Q: fq_nmod_mpoly_t,
pub R: fq_nmod_mpoly_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of fq_nmod_mpoly_pfrac_struct"]
[::std::mem::size_of::<fq_nmod_mpoly_pfrac_struct>() - 280usize];
["Alignment of fq_nmod_mpoly_pfrac_struct"]
[::std::mem::align_of::<fq_nmod_mpoly_pfrac_struct>() - 8usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::bits"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, bits) - 0usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::w"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, w) - 8usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::r"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, r) - 16usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::inv_prod_dbetas"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, inv_prod_dbetas) - 24usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::inv_prod_dbetas_mvar"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, inv_prod_dbetas_mvar) - 32usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::dbetas"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, dbetas) - 40usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::dbetas_mvar"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, dbetas_mvar) - 48usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::prod_mbetas"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, prod_mbetas) - 56usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::prod_mbetas_coeffs"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, prod_mbetas_coeffs) - 64usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::mbetas"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, mbetas) - 72usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::deltas"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, deltas) - 80usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::xalpha"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, xalpha) - 88usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::q"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, q) - 96usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::G"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, G) - 104usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::qt"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, qt) - 112usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::newt"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, newt) - 120usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::delta_coeffs"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, delta_coeffs) - 128usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::T"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, T) - 136usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::Q"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, Q) - 184usize];
["Offset of field: fq_nmod_mpoly_pfrac_struct::R"]
[::std::mem::offset_of!(fq_nmod_mpoly_pfrac_struct, R) - 232usize];
};
impl Default for fq_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 fq_nmod_mpoly_pfrac_t = [fq_nmod_mpoly_pfrac_struct; 1usize];
extern "C" {
pub fn fq_nmod_mpoly_factor_init(
f: *mut fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_realloc(
f: *mut fq_nmod_mpoly_factor_struct,
alloc: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_fit_length(
f: *mut fq_nmod_mpoly_factor_struct,
len: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_clear(
f: *mut fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
#[link_name = "fq_nmod_mpoly_factor_length__extern"]
pub fn fq_nmod_mpoly_factor_length(
f: *const fq_nmod_mpoly_factor_struct,
UNUSED_ctx: *const fq_nmod_mpoly_ctx_struct,
) -> slong;
pub fn fq_nmod_mpoly_factor_get_constant_fq_nmod(
c: *mut nmod_poly_struct,
f: *const fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
#[link_name = "fq_nmod_mpoly_factor_get_base__extern"]
pub fn fq_nmod_mpoly_factor_get_base(
p: *mut fq_nmod_mpoly_struct,
f: *const fq_nmod_mpoly_factor_struct,
i: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
#[link_name = "fq_nmod_mpoly_factor_swap_base__extern"]
pub fn fq_nmod_mpoly_factor_swap_base(
p: *mut fq_nmod_mpoly_struct,
f: *const fq_nmod_mpoly_factor_struct,
i: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_get_exp_si(
f: *mut fq_nmod_mpoly_factor_struct,
i: slong,
UNUSED_ctx: *const fq_nmod_mpoly_ctx_struct,
) -> slong;
pub fn fq_nmod_mpoly_factor_set(
a: *mut fq_nmod_mpoly_factor_struct,
b: *const fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_print_pretty(
f: *const fq_nmod_mpoly_factor_struct,
vars: *mut *const libc::c_char,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_append_ui(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
e: ulong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_append_fmpz(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
e: *const fmpz,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_content(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_squarefree(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_separable(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
sep: libc::c_int,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_sort(
f: *mut fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_cmp(
A: *const fq_nmod_mpoly_factor_struct,
B: *const fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fq_nmod_mpoly_factor_swap__extern"]
pub fn fq_nmod_mpoly_factor_swap(
A: *mut fq_nmod_mpoly_factor_struct,
B: *mut fq_nmod_mpoly_factor_struct,
UNUSED_ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_one(
a: *mut fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_factor_expand(
A: *mut fq_nmod_mpoly_struct,
f: *const fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fq_nmod_mpoly_factor_matches__extern"]
pub fn fq_nmod_mpoly_factor_matches(
a: *const fq_nmod_mpoly_struct,
f: *const fq_nmod_mpoly_factor_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _fq_nmod_mpoly_get_lead0(
c: *mut fq_nmod_mpoly_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn _fq_nmod_mpoly_set_lead0(
A: *mut fq_nmod_mpoly_struct,
B: *const fq_nmod_mpoly_struct,
c: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn n_fq_bpoly_mul(
A: *mut n_bpoly_struct,
B: *const n_bpoly_struct,
C: *const n_bpoly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_fq_bpoly_mul_series(
A: *mut n_bpoly_struct,
B: *const n_bpoly_struct,
C: *const n_bpoly_struct,
order: slong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_fq_bpoly_add(
A: *mut n_bpoly_struct,
B: *const n_bpoly_struct,
C: *const n_bpoly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_fq_bpoly_sub(
A: *mut n_bpoly_struct,
B: *const n_bpoly_struct,
C: *const n_bpoly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_fq_bpoly_divrem_series(
Q: *mut n_bpoly_struct,
R: *mut n_bpoly_struct,
A: *const n_bpoly_struct,
B: *const n_bpoly_struct,
order: slong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_fq_bpoly_divides(
Q: *mut n_bpoly_struct,
A: *const n_bpoly_struct,
B: *const n_bpoly_struct,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn n_fq_bpoly_make_primitive(
g: *mut n_poly_struct,
A: *mut n_bpoly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_mpoly_get_n_fq_bpoly(
A: *mut n_bpoly_struct,
B: *const fq_nmod_mpoly_struct,
varx: slong,
vary: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_set_n_fq_bpoly(
A: *mut fq_nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const n_bpoly_struct,
varx: slong,
vary: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn n_fq_bpoly_factor_smprime(
c: *mut n_poly_struct,
F: *mut n_tpoly_struct,
B: *mut n_bpoly_struct,
allow_shift: libc::c_int,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn n_fq_bpoly_factor_lgprime(
c: *mut n_poly_struct,
F: *mut n_tpoly_struct,
B: *mut n_bpoly_struct,
ctx: *const fq_nmod_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn n_polyu3_fq_print_pretty(
A: *const n_polyu_struct,
var0: *const libc::c_char,
var1: *const libc::c_char,
var2: *const libc::c_char,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_polyu_fq_is_canonical(
A: *const n_polyu_struct,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn n_polyu2n_fq_print_pretty(
A: *const n_polyun_struct,
var0: *const libc::c_char,
var1: *const libc::c_char,
varlast: *const libc::c_char,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_polyu3n_fq_print_pretty(
A: *const n_polyun_struct,
var0: *const libc::c_char,
var1: *const libc::c_char,
var2: *const libc::c_char,
varlast: *const libc::c_char,
ctx: *const fq_nmod_ctx_struct,
);
pub fn n_polyun_fq_is_canonical(
A: *const n_polyun_struct,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
#[link_name = "fq_nmod_mpolyv_init__extern"]
pub fn fq_nmod_mpolyv_init(
A: *mut fq_nmod_mpolyv_struct,
UNUSED_ctx: *const fq_nmod_mpoly_ctx_struct,
);
#[link_name = "fq_nmod_mpolyv_swap__extern"]
pub fn fq_nmod_mpolyv_swap(
A: *mut fq_nmod_mpolyv_struct,
B: *mut fq_nmod_mpolyv_struct,
UNUSED_ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpolyv_clear(
A: *mut fq_nmod_mpolyv_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpolyv_print_pretty(
poly: *const fq_nmod_mpolyv_struct,
x: *mut *const libc::c_char,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpolyv_fit_length(
A: *mut fq_nmod_mpolyv_struct,
length: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpolyv_set_coeff(
A: *mut fq_nmod_mpolyv_struct,
i: slong,
c: *mut fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_to_mpolyv(
A: *mut fq_nmod_mpolyv_struct,
B: *const fq_nmod_mpoly_struct,
xalpha: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_from_mpolyv(
A: *mut fq_nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const fq_nmod_mpolyv_struct,
xalpha: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn _fq_nmod_mpoly_vec_content_mpoly(
g: *mut fq_nmod_mpoly_struct,
A: *const fq_nmod_mpoly_struct,
Alen: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _fq_nmod_mpoly_vec_divexact_mpoly(
A: *mut fq_nmod_mpoly_struct,
Alen: slong,
c: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn _fq_nmod_mpoly_vec_mul_mpoly(
A: *mut fq_nmod_mpoly_struct,
Alen: slong,
c: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn _fq_nmod_mpoly_factor_separable(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
sep: libc::c_int,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_lcc_wang(
lc_divs: *mut fq_nmod_mpoly_struct,
lcAfac: *const fq_nmod_mpoly_factor_struct,
Auc: *const n_poly_struct,
Auf: *const n_bpoly_struct,
r: slong,
alpha: *const n_poly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_irred_smprime_zassenhaus(
fac: *mut fq_nmod_mpolyv_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_irred_lgprime_zassenhaus(
fac: *mut fq_nmod_mpolyv_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_irred_smprime_wang(
fac: *mut fq_nmod_mpolyv_struct,
A: *const fq_nmod_mpoly_struct,
lcAfac: *const fq_nmod_mpoly_factor_struct,
lcA: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_irred_lgprime_wang(
Af: *mut fq_nmod_mpolyv_struct,
A: *const fq_nmod_mpoly_struct,
lcAfac: *const fq_nmod_mpoly_factor_struct,
lcA: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_irred_smprime_zippel(
fac: *mut fq_nmod_mpolyv_struct,
A: *const fq_nmod_mpoly_struct,
lcAfac: *const fq_nmod_mpoly_factor_struct,
lcA: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_irred_lgprime_zippel(
Af: *mut fq_nmod_mpolyv_struct,
A: *const fq_nmod_mpoly_struct,
lcAfac: *const fq_nmod_mpoly_factor_struct,
lcA: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_compression_do(
L: *mut fq_nmod_mpoly_struct,
Lctx: *const fq_nmod_mpoly_ctx_struct,
Acoeffs: *mut ulong,
Alen: slong,
M: *mut mpoly_compression_struct,
);
pub fn fq_nmod_mpoly_compression_undo(
A: *mut fq_nmod_mpoly_struct,
Abits: flint_bitcnt_t,
Actx: *const fq_nmod_mpoly_ctx_struct,
L: *mut fq_nmod_mpoly_struct,
Lctx: *const fq_nmod_mpoly_ctx_struct,
M: *mut mpoly_compression_struct,
);
pub fn fq_nmod_mpoly_pfrac_init(
Iv: *mut fq_nmod_mpoly_pfrac_struct,
bits: flint_bitcnt_t,
l: slong,
r: slong,
betas: *const fq_nmod_mpoly_struct,
alpha: *const fq_nmod_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_pfrac_clear(
Iv: *mut fq_nmod_mpoly_pfrac_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn fq_nmod_mpoly_pfrac(
r: slong,
t: *mut fq_nmod_mpoly_struct,
deg: *const slong,
Iv: *mut fq_nmod_mpoly_pfrac_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_hlift(
m: slong,
f: *mut fq_nmod_mpoly_struct,
r: slong,
alpha: *const fq_nmod_struct,
A: *const fq_nmod_mpoly_struct,
degs: *const slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn n_fq_bpoly_hlift2_cubic(
A: *mut n_bpoly_struct,
B0: *mut n_bpoly_struct,
B1: *mut n_bpoly_struct,
alpha_: *const nmod_poly_struct,
degree_inner: slong,
ctx: *const fq_nmod_ctx_struct,
E: *mut nmod_eval_interp_struct,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_fq_bpoly_hlift2(
A: *mut n_bpoly_struct,
B0: *mut n_bpoly_struct,
B1: *mut n_bpoly_struct,
alpha: *const nmod_poly_struct,
degree_inner: slong,
ctx: *const fq_nmod_ctx_struct,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_fq_bpoly_hlift_cubic(
A: *mut n_bpoly_struct,
B0: *mut n_bpoly_struct,
B1: *mut n_bpoly_struct,
alpha_: *const nmod_poly_struct,
degree_inner: slong,
ctx: *const fq_nmod_ctx_struct,
E: *mut nmod_eval_interp_struct,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_fq_bpoly_hlift(
r: slong,
A: *mut n_bpoly_struct,
B: *mut n_bpoly_struct,
alpha: *const nmod_poly_struct,
degree_inner: slong,
ctx: *const fq_nmod_ctx_struct,
UNUSED_St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn n_fq_polyu3_hlift(
r: slong,
BB: *mut n_polyun_struct,
A: *mut n_polyu_struct,
B: *mut n_polyu_struct,
beta: *const nmod_poly_struct,
degree_inner: slong,
ctx: *const fq_nmod_ctx_struct,
St: *mut n_poly_bpoly_stack_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_algo(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
algo: libc::c_uint,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_wang(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_zassenhaus(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_mpoly_factor_zippel(
f: *mut fq_nmod_mpoly_factor_struct,
A: *const fq_nmod_mpoly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _fq_nmod_mpoly_eval_rest_n_fq_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_fq_poly_struct,
offsets: *const slong,
shifts: *const slong,
N: slong,
mask: ulong,
nvars: slong,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn _fq_nmod_mpoly_eval_rest_to_n_fq_bpoly(
E: *mut n_bpoly_struct,
A: *const fq_nmod_mpoly_struct,
alphabetas: *const n_poly_struct,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
pub fn _fq_nmod_mpoly_set_n_fq_bpoly_gen1_zero(
A: *mut fq_nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const n_bpoly_struct,
var: slong,
ctx: *const fq_nmod_mpoly_ctx_struct,
);
}