use libc::*;
use crate::deps::*;
use crate::flint::*;
use crate::fmpz_mod_types::*;
use crate::fmpz_types::*;
use crate::mpoly_types::*;
use crate::nmod_types::*;
#[repr(C)]
pub struct fmpz_mod_mpoly_univar_struct {
pub coeffs: *mut fmpz_mod_mpoly_struct,
pub exps: *mut fmpz,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of fmpz_mod_mpoly_univar_struct"]
[::std::mem::size_of::<fmpz_mod_mpoly_univar_struct>() - 32usize];
["Alignment of fmpz_mod_mpoly_univar_struct"]
[::std::mem::align_of::<fmpz_mod_mpoly_univar_struct>() - 8usize];
["Offset of field: fmpz_mod_mpoly_univar_struct::coeffs"]
[::std::mem::offset_of!(fmpz_mod_mpoly_univar_struct, coeffs) - 0usize];
["Offset of field: fmpz_mod_mpoly_univar_struct::exps"]
[::std::mem::offset_of!(fmpz_mod_mpoly_univar_struct, exps) - 8usize];
["Offset of field: fmpz_mod_mpoly_univar_struct::alloc"]
[::std::mem::offset_of!(fmpz_mod_mpoly_univar_struct, alloc) - 16usize];
["Offset of field: fmpz_mod_mpoly_univar_struct::length"]
[::std::mem::offset_of!(fmpz_mod_mpoly_univar_struct, length) - 24usize];
};
impl Default for fmpz_mod_mpoly_univar_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 fmpz_mod_mpoly_univar_t = [fmpz_mod_mpoly_univar_struct; 1usize];
#[repr(C)]
pub struct fmpz_mod_mpoly_geobucket {
pub polys: [fmpz_mod_mpoly_struct; 32usize],
pub temps: [fmpz_mod_mpoly_struct; 32usize],
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of fmpz_mod_mpoly_geobucket"]
[::std::mem::size_of::<fmpz_mod_mpoly_geobucket>() - 3080usize];
["Alignment of fmpz_mod_mpoly_geobucket"]
[::std::mem::align_of::<fmpz_mod_mpoly_geobucket>() - 8usize];
["Offset of field: fmpz_mod_mpoly_geobucket::polys"]
[::std::mem::offset_of!(fmpz_mod_mpoly_geobucket, polys) - 0usize];
["Offset of field: fmpz_mod_mpoly_geobucket::temps"]
[::std::mem::offset_of!(fmpz_mod_mpoly_geobucket, temps) - 1536usize];
["Offset of field: fmpz_mod_mpoly_geobucket::length"]
[::std::mem::offset_of!(fmpz_mod_mpoly_geobucket, length) - 3072usize];
};
impl Default for fmpz_mod_mpoly_geobucket {
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 fmpz_mod_mpoly_geobucket_struct = fmpz_mod_mpoly_geobucket;
pub type fmpz_mod_mpoly_geobucket_t = [fmpz_mod_mpoly_geobucket_struct; 1usize];
#[repr(C)]
pub struct fmpz_mod_mpoly_vec_struct {
pub p: *mut fmpz_mod_mpoly_struct,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of fmpz_mod_mpoly_vec_struct"]
[::std::mem::size_of::<fmpz_mod_mpoly_vec_struct>() - 24usize];
["Alignment of fmpz_mod_mpoly_vec_struct"]
[::std::mem::align_of::<fmpz_mod_mpoly_vec_struct>() - 8usize];
["Offset of field: fmpz_mod_mpoly_vec_struct::p"]
[::std::mem::offset_of!(fmpz_mod_mpoly_vec_struct, p) - 0usize];
["Offset of field: fmpz_mod_mpoly_vec_struct::alloc"]
[::std::mem::offset_of!(fmpz_mod_mpoly_vec_struct, alloc) - 8usize];
["Offset of field: fmpz_mod_mpoly_vec_struct::length"]
[::std::mem::offset_of!(fmpz_mod_mpoly_vec_struct, length) - 16usize];
};
impl Default for fmpz_mod_mpoly_vec_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 fmpz_mod_mpoly_vec_t = [fmpz_mod_mpoly_vec_struct; 1usize];
extern "C" {
pub fn fmpz_mod_mpoly_ctx_init(
ctx: *mut fmpz_mod_mpoly_ctx_struct,
nvars: slong,
ord: ordering_t,
modulus: *const fmpz,
);
pub fn fmpz_mod_mpoly_ctx_init_rand(
ctx: *mut fmpz_mod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
max_nvars: slong,
modulus: *const fmpz,
);
pub fn fmpz_mod_mpoly_ctx_init_rand_bits_prime(
ctx: *mut fmpz_mod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
max_nvars: slong,
max_bits: flint_bitcnt_t,
);
pub fn fmpz_mod_mpoly_ctx_init_rand_bits(
ctx: *mut fmpz_mod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
max_nvars: slong,
max_bits: flint_bitcnt_t,
);
pub fn fmpz_mod_mpoly_ctx_clear(ctx: *mut fmpz_mod_mpoly_ctx_struct);
#[link_name = "fmpz_mod_mpoly_ctx_nvars__extern"]
pub fn fmpz_mod_mpoly_ctx_nvars(ctx: *const fmpz_mod_mpoly_ctx_struct) -> slong;
#[link_name = "fmpz_mod_mpoly_ctx_ord__extern"]
pub fn fmpz_mod_mpoly_ctx_ord(ctx: *const fmpz_mod_mpoly_ctx_struct) -> ordering_t;
#[link_name = "fmpz_mod_mpoly_ctx_modulus__extern"]
pub fn fmpz_mod_mpoly_ctx_modulus(ctx: *const fmpz_mod_mpoly_ctx_struct) -> *const fmpz;
#[link_name = "fmpz_mod_mpoly_ctx_get_modulus__extern"]
pub fn fmpz_mod_mpoly_ctx_get_modulus(m: *mut fmpz, ctx: *const fmpz_mod_mpoly_ctx_struct);
#[link_name = "fmpz_mod_mpoly_init__extern"]
pub fn fmpz_mod_mpoly_init(
A: *mut fmpz_mod_mpoly_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_clear(
A: *mut fmpz_mod_mpoly_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_init2(
A: *mut fmpz_mod_mpoly_struct,
alloc: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_init3(
A: *mut fmpz_mod_mpoly_struct,
alloc: slong,
bits: flint_bitcnt_t,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_realloc(
A: *mut fmpz_mod_mpoly_struct,
alloc: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_fit_length(
A: *mut fmpz_mod_mpoly_struct,
length: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_fit_length_fit_bits(
A: *mut fmpz_mod_mpoly_struct,
len: slong,
bits: flint_bitcnt_t,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_fit_length_reset_bits(
A: *mut fmpz_mod_mpoly_struct,
len: slong,
bits: flint_bitcnt_t,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "_fmpz_mod_mpoly_fit_length__extern"]
pub fn _fmpz_mod_mpoly_fit_length(
coeffs: *mut *mut fmpz,
coeffs_alloc: *mut slong,
exps: *mut *mut ulong,
exps_alloc: *mut slong,
N: slong,
length: slong,
);
#[link_name = "_fmpz_mod_mpoly_set_length__extern"]
pub fn _fmpz_mod_mpoly_set_length(
A: *mut fmpz_mod_mpoly_struct,
newlen: slong,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_truncate__extern"]
pub fn fmpz_mod_mpoly_truncate(
A: *mut fmpz_mod_mpoly_struct,
newlen: slong,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_str_pretty(
A: *mut fmpz_mod_mpoly_struct,
str_: *const libc::c_char,
x: *mut *const libc::c_char,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_get_str_pretty(
A: *const fmpz_mod_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> *mut libc::c_char;
pub fn fmpz_mod_mpoly_fprint_pretty(
file: *mut FILE,
A: *const fmpz_mod_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_print_pretty(
A: *const fmpz_mod_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gen(
A: *mut fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_is_gen(
A: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_set(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_equal(
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpz_mod_mpoly_swap__extern"]
pub fn fmpz_mod_mpoly_swap(
A: *mut fmpz_mod_mpoly_struct,
B: *mut fmpz_mod_mpoly_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_is_fmpz(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_get_fmpz(
c: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_fmpz_mod(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_ui(
A: *mut fmpz_mod_mpoly_struct,
c: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_si(
A: *mut fmpz_mod_mpoly_struct,
c: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_zero__extern"]
pub fn fmpz_mod_mpoly_zero(
A: *mut fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_one__extern"]
pub fn fmpz_mod_mpoly_one(A: *mut fmpz_mod_mpoly_struct, ctx: *const fmpz_mod_mpoly_ctx_struct);
pub fn fmpz_mod_mpoly_equal_fmpz(
A: *const fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_equal_ui(
A: *const fmpz_mod_mpoly_struct,
c: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_equal_si(
A: *const fmpz_mod_mpoly_struct,
c: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpz_mod_mpoly_is_zero__extern"]
pub fn fmpz_mod_mpoly_is_zero(
A: *const fmpz_mod_mpoly_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpz_mod_mpoly_is_one__extern"]
pub fn fmpz_mod_mpoly_is_one(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_degrees_fit_si(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_degrees_fmpz(
degs: *mut *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_degrees_si(
degs: *mut slong,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_degree_fmpz(
deg: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_degree_si(
A: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> slong;
pub fn fmpz_mod_mpoly_total_degree_fits_si(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_total_degree_fmpz(
td: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_total_degree_si(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> slong;
pub fn fmpz_mod_mpoly_used_vars(
used: *mut libc::c_int,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_coeff_fmpz_monomial(
c: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
M: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_coeff_fmpz_monomial(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
M: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_coeff_fmpz_fmpz(
c: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_coeff_fmpz_ui(
c: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_set_coeff_fmpz_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
exp: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_coeff_fmpz_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_coeff_ui_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: ulong,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_coeff_si_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: slong,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_coeff_fmpz_ui(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_coeff_ui_ui(
A: *mut fmpz_mod_mpoly_struct,
c: ulong,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_coeff_si_ui(
A: *mut fmpz_mod_mpoly_struct,
c: slong,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_coeff_vars_ui(
C: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
vars: *const slong,
exps: *const ulong,
length: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_leadcoeff__extern"]
pub fn fmpz_mod_mpoly_leadcoeff(A: *mut fmpz_mod_mpoly_struct) -> *mut fmpz;
pub fn fmpz_mod_mpoly_is_fmpz_mod_poly(
A: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_get_fmpz_mod_poly(
A: *mut fmpz_mod_poly_struct,
B: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _fmpz_mod_mpoly_set_fmpz_mod_poly(
A: *mut fmpz_mod_mpoly_struct,
Abits: flint_bitcnt_t,
Bcoeffs: *const fmpz,
Blen: slong,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_fmpz_mod_poly(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_poly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_cmp(
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_is_canonical(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpz_mod_mpoly_length__extern"]
pub fn fmpz_mod_mpoly_length(
A: *const fmpz_mod_mpoly_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> slong;
pub fn fmpz_mod_mpoly_resize(
A: *mut fmpz_mod_mpoly_struct,
new_length: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_term_coeff_fmpz(
c: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
i: slong,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_term_coeff_fmpz(
A: *mut fmpz_mod_mpoly_struct,
i: slong,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_term_coeff_ui(
A: *mut fmpz_mod_mpoly_struct,
i: slong,
c: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_term_coeff_si(
A: *mut fmpz_mod_mpoly_struct,
i: slong,
c: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_term_exp_fits_ui(
A: *const fmpz_mod_mpoly_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_term_exp_fits_si(
A: *const fmpz_mod_mpoly_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_get_term_exp_fmpz(
exp: *mut *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_term_exp_ui(
exp: *mut ulong,
A: *const fmpz_mod_mpoly_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_term_exp_si(
exp: *mut slong,
A: *const fmpz_mod_mpoly_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_term_var_exp_ui(
A: *const fmpz_mod_mpoly_struct,
i: slong,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> ulong;
pub fn fmpz_mod_mpoly_get_term_var_exp_si(
A: *const fmpz_mod_mpoly_struct,
i: slong,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> slong;
pub fn fmpz_mod_mpoly_set_term_exp_fmpz(
A: *mut fmpz_mod_mpoly_struct,
i: slong,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_term_exp_ui(
A: *mut fmpz_mod_mpoly_struct,
i: slong,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_term(
M: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_term_monomial(
M: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_fmpz_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_fmpz_ffmpz(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
exp: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_ui_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: ulong,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_ui_ffmpz(
A: *mut fmpz_mod_mpoly_struct,
c: ulong,
exp: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_si_fmpz(
A: *mut fmpz_mod_mpoly_struct,
c: slong,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_si_ffmpz(
A: *mut fmpz_mod_mpoly_struct,
c: slong,
exp: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_fmpz_ui(
A: *mut fmpz_mod_mpoly_struct,
c: *const fmpz,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_ui_ui(
A: *mut fmpz_mod_mpoly_struct,
c: ulong,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_push_term_si_ui(
A: *mut fmpz_mod_mpoly_struct,
c: slong,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_sort_terms(
A: *mut fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_combine_like_terms(
A: *mut fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_reverse(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_assert_canonical(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_radix_sort1(
arg1: *mut fmpz,
arg2: *mut ulong,
left: slong,
right: slong,
pos: flint_bitcnt_t,
cmpmask: ulong,
totalmask: ulong,
);
pub fn _fmpz_mod_mpoly_radix_sort(
arg1: *mut fmpz,
arg2: *mut ulong,
left: slong,
right: slong,
pos: flint_bitcnt_t,
N: slong,
cmpmask: *mut ulong,
);
pub fn _fmpz_mod_mpoly_push_exp_ffmpz(
A: *mut fmpz_mod_mpoly_struct,
exp: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_push_exp_pfmpz(
A: *mut fmpz_mod_mpoly_struct,
exp: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_push_exp_ui(
A: *mut fmpz_mod_mpoly_struct,
exp: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_randtest_bounds(
A: *mut fmpz_mod_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
exp_bounds: *mut ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_randtest_bound(
A: *mut fmpz_mod_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
exp_bound: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_randtest_bits(
A: *mut fmpz_mod_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
exp_bits: flint_bitcnt_t,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_add_fmpz_mod(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_add_fmpz(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_add_ui(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_add_si(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_sub_fmpz(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_sub_ui(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_sub_si(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_add(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_sub(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_neg(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_scalar_mul_fmpz_mod_invertible(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_scalar_mul_fmpz(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_scalar_mul_ui(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_scalar_mul_si(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_scalar_addmul_fmpz(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const fmpz_mod_mpoly_struct,
d: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_make_monic(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_derivative(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_eval_all_fmpz_mod(
eval: *mut fmpz,
Acoeffs: *const fmpz,
Aexps: *const ulong,
Alen: slong,
Abits: flint_bitcnt_t,
alphas: *const fmpz,
mctx: *const mpoly_ctx_struct,
fctx: *const fmpz_mod_ctx_struct,
);
pub fn fmpz_mod_mpoly_evaluate_all_fmpz(
eval: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
alphas: *const *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_evaluate_one_fmpz(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
var: slong,
val: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_compose_mat(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
M: *const fmpz_mat_struct,
ctxB: *const fmpz_mod_mpoly_ctx_struct,
ctxAC: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_compose_fmpz_mod_mpoly_geobucket(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const *mut fmpz_mod_mpoly_struct,
ctxB: *const fmpz_mod_mpoly_ctx_struct,
ctxAC: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_compose_fmpz_mod_mpoly_horner(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const *mut fmpz_mod_mpoly_struct,
ctxB: *const fmpz_mod_mpoly_ctx_struct,
ctxAC: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_compose_fmpz_mod_mpoly(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const *mut fmpz_mod_mpoly_struct,
ctxB: *const fmpz_mod_mpoly_ctx_struct,
ctxAC: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_compose_fmpz_mod_mpoly_gen(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
c: *const slong,
ctxB: *const fmpz_mod_mpoly_ctx_struct,
ctxAC: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_mul(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_mul_johnson(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_mul_johnson_maxfields(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
maxBfields: *mut fmpz,
C: *const fmpz_mod_mpoly_struct,
maxCfields: *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_mul_dense(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
C: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _fmpz_mod_mpoly_mul_dense_maxfields(
P: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
maxAfields: *mut fmpz,
B: *const fmpz_mod_mpoly_struct,
maxBfields: *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_pow_fmpz(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
k: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_pow_ui(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
k: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_pow_rmul(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
k: ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_divides(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_div(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_divrem(
Q: *mut fmpz_mod_mpoly_struct,
R: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_divrem_ideal(
Q: *mut *mut fmpz_mod_mpoly_struct,
R: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const *mut fmpz_mod_mpoly_struct,
len: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_divexact__extern"]
pub fn fmpz_mod_mpoly_divexact(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_divides_dense_maxfields(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
maxAfields: *mut fmpz,
B: *const fmpz_mod_mpoly_struct,
maxBfields: *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_divides_dense(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _fmpz_mod_mpoly_divides_monagan_pearce_maxfields(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
maxAfields: *mut fmpz,
B: *const fmpz_mod_mpoly_struct,
maxBfields: *mut fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_divides_monagan_pearce(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_div_monagan_pearce(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_divrem_monagan_pearce(
Q: *mut fmpz_mod_mpoly_struct,
R: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_divrem_ideal_monagan_pearce(
Q: *mut *mut fmpz_mod_mpoly_struct,
R: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const *mut fmpz_mod_mpoly_struct,
len: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_sqrt_heap(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpz_mod_mpoly_sqrt__extern"]
pub fn fmpz_mod_mpoly_sqrt(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpz_mod_mpoly_is_square__extern"]
pub fn fmpz_mod_mpoly_is_square(
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_quadratic_root(
Q: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_term_content(
M: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_monic_part(
res: *mut fmpz_mod_mpoly_struct,
f: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_content_vars(
g: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
vars: *mut slong,
vars_length: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gcd(
G: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gcd_cofactors(
G: *mut fmpz_mod_mpoly_struct,
Abar: *mut fmpz_mod_mpoly_struct,
Bbar: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gcd_subresultant(
G: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gcd_brown(
G: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gcd_hensel(
G: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gcd_zippel(
G: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_gcd_zippel2(
G: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_deflation(
shift: *mut fmpz,
stride: *mut fmpz,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_deflate(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
shift: *const fmpz,
stride: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_inflate(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
shift: *const fmpz,
stride: *const fmpz,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_univar_init(
A: *mut fmpz_mod_mpoly_univar_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_univar_clear(
A: *mut fmpz_mod_mpoly_univar_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_univar_fit_length(
A: *mut fmpz_mod_mpoly_univar_struct,
length: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_univar_print_pretty(
A: *const fmpz_mod_mpoly_univar_struct,
x: *mut *const libc::c_char,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_univar_assert_canonical(
A: *mut fmpz_mod_mpoly_univar_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_univar_zero__extern"]
pub fn fmpz_mod_mpoly_univar_zero(
A: *mut fmpz_mod_mpoly_univar_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_univar_set_coeff_ui(
A: *mut fmpz_mod_mpoly_univar_struct,
e: ulong,
c: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_to_univar(
A: *mut fmpz_mod_mpoly_univar_struct,
B: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_from_univar(
A: *mut fmpz_mod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const fmpz_mod_mpoly_univar_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_from_univar(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_univar_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_univar_swap__extern"]
pub fn fmpz_mod_mpoly_univar_swap(
A: *mut fmpz_mod_mpoly_univar_struct,
B: *mut fmpz_mod_mpoly_univar_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_univar_degree_fits_si__extern"]
pub fn fmpz_mod_mpoly_univar_degree_fits_si(
A: *const fmpz_mod_mpoly_univar_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpz_mod_mpoly_univar_length__extern"]
pub fn fmpz_mod_mpoly_univar_length(
A: *const fmpz_mod_mpoly_univar_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> slong;
#[link_name = "fmpz_mod_mpoly_univar_get_term_exp_si__extern"]
pub fn fmpz_mod_mpoly_univar_get_term_exp_si(
A: *mut fmpz_mod_mpoly_univar_struct,
i: slong,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> slong;
#[link_name = "fmpz_mod_mpoly_univar_get_term_coeff__extern"]
pub fn fmpz_mod_mpoly_univar_get_term_coeff(
c: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_univar_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
#[link_name = "fmpz_mod_mpoly_univar_swap_term_coeff__extern"]
pub fn fmpz_mod_mpoly_univar_swap_term_coeff(
c: *mut fmpz_mod_mpoly_struct,
A: *mut fmpz_mod_mpoly_univar_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_univar_pseudo_gcd(
Gx: *mut fmpz_mod_mpoly_univar_struct,
Ax: *const fmpz_mod_mpoly_univar_struct,
Bx: *const fmpz_mod_mpoly_univar_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_univar_resultant(
R: *mut fmpz_mod_mpoly_struct,
Ax: *const fmpz_mod_mpoly_univar_struct,
Bx: *const fmpz_mod_mpoly_univar_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_univar_discriminant(
D: *mut fmpz_mod_mpoly_struct,
Fx: *const fmpz_mod_mpoly_univar_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_resultant(
R: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_discriminant(
R: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
var: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
#[doc = "Internal functions (guaranteed to change without notice)"]
#[link_name = "_fmpz_mod_mpoly_clear_dense_mock__extern"]
pub fn _fmpz_mod_mpoly_clear_dense_mock(D: *mut fmpz_mod_poly_struct);
pub fn _fmpz_mod_mpoly_init_dense_mock(
D: *mut fmpz_mod_poly_struct,
A: *const fmpz_mod_mpoly_struct,
Adeg_bounds: *const slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn mpoly_void_ring_init_fmpz_mod_mpoly_ctx(
R: *mut _bindgen_ty_2,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_geobucket_init(
B: *mut fmpz_mod_mpoly_geobucket_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_geobucket_clear(
B: *mut fmpz_mod_mpoly_geobucket_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_geobucket_empty(
p: *mut fmpz_mod_mpoly_struct,
B: *mut fmpz_mod_mpoly_geobucket_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_geobucket_fit_length(
B: *mut fmpz_mod_mpoly_geobucket_struct,
i: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_geobucket_set(
B: *mut fmpz_mod_mpoly_geobucket_struct,
p: *mut fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_geobucket_add(
B: *mut fmpz_mod_mpoly_geobucket_struct,
p: *mut fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_geobucket_sub(
B: *mut fmpz_mod_mpoly_geobucket_struct,
p: *mut fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpolyl_lead_coeff(
c: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
num_vars: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpolyl_content(
g: *mut fmpz_mod_mpoly_struct,
A: *const fmpz_mod_mpoly_struct,
num_vars: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _fmpz_mod_mpoly_to_fmpz_mod_poly_deflate(
A: *mut fmpz_mod_poly_struct,
B: *const fmpz_mod_mpoly_struct,
var: slong,
Bshift: *const ulong,
Bstride: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_from_fmpz_mod_poly_inflate(
A: *mut fmpz_mod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const fmpz_mod_poly_struct,
var: slong,
Ashift: *const ulong,
Astride: *const ulong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_set_nmod_mpoly(
A: *mut fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
nA: *const nmod_mpoly_struct,
UNUSED_nctx: *const nmod_mpoly_ctx_struct,
);
pub fn _fmpz_mod_mpoly_get_nmod_mpoly(
nA: *mut nmod_mpoly_struct,
nctx: *const nmod_mpoly_ctx_struct,
A: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_repack_bits(
A: *mut fmpz_mod_mpoly_struct,
B: *const fmpz_mod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_repack_bits_inplace(
A: *mut fmpz_mod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_to_mpolyl_perm_deflate(
A: *mut fmpz_mod_mpoly_struct,
lctx: *const fmpz_mod_mpoly_ctx_struct,
B: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
);
pub fn fmpz_mod_mpoly_from_mpolyl_perm_inflate(
A: *mut fmpz_mod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const fmpz_mod_mpoly_ctx_struct,
B: *const fmpz_mod_mpoly_struct,
lctx: *const fmpz_mod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
);
pub fn fmpz_mod_mpoly_vec_init(
vec: *mut fmpz_mod_mpoly_vec_struct,
len: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_print(
F: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_swap(
x: *mut fmpz_mod_mpoly_vec_struct,
y: *mut fmpz_mod_mpoly_vec_struct,
UNUSED_ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_fit_length(
vec: *mut fmpz_mod_mpoly_vec_struct,
len: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_clear(
vec: *mut fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_set(
dest: *mut fmpz_mod_mpoly_vec_struct,
src: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_append(
vec: *mut fmpz_mod_mpoly_vec_struct,
f: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_insert_unique(
vec: *mut fmpz_mod_mpoly_vec_struct,
f: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> slong;
pub fn fmpz_mod_mpoly_vec_set_length(
vec: *mut fmpz_mod_mpoly_vec_struct,
len: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_randtest_not_zero(
vec: *mut fmpz_mod_mpoly_vec_struct,
state: *mut flint_rand_struct,
len: slong,
poly_len: slong,
exp_bound: ulong,
ctx: *mut fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_spoly(
res: *mut fmpz_mod_mpoly_struct,
f: *const fmpz_mod_mpoly_struct,
g: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_reduction_monic_part(
res: *mut fmpz_mod_mpoly_struct,
f: *const fmpz_mod_mpoly_struct,
Iv: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_is_groebner(
G: *const fmpz_mod_mpoly_vec_struct,
F: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_vec_set_monic_unique(
G: *mut fmpz_mod_mpoly_vec_struct,
F: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_buchberger_naive_with_limits(
G: *mut fmpz_mod_mpoly_vec_struct,
F: *const fmpz_mod_mpoly_vec_struct,
ideal_len_limit: slong,
poly_len_limit: slong,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_buchberger_naive(
G: *mut fmpz_mod_mpoly_vec_struct,
F: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_vec_is_autoreduced(
G: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpz_mod_mpoly_vec_autoreduction_groebner(
H: *mut fmpz_mod_mpoly_vec_struct,
G: *const fmpz_mod_mpoly_vec_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_set_fmpz_mpoly(
res: *mut fmpz_mod_mpoly_struct,
f: *const fmpz_mpoly_struct,
ctxm: *mut fmpz_mod_mpoly_ctx_struct,
ctx: *mut fmpz_mpoly_ctx_struct,
);
pub fn fmpz_mod_mpoly_get_fmpz_mpoly(
res: *mut fmpz_mpoly_struct,
f: *const fmpz_mod_mpoly_struct,
ctx: *mut fmpz_mpoly_ctx_struct,
);
#[doc = "Internal consistency checks"]
pub fn fmpz_mod_mpoly_remainder_strongtest(
r: *const fmpz_mod_mpoly_struct,
g: *const fmpz_mod_mpoly_struct,
ctx: *const fmpz_mod_mpoly_ctx_struct,
);
}