use libc::*;
use crate::deps::*;
use crate::flint::*;
use crate::fmpz_types::*;
use crate::mpoly_types::*;
use crate::n_poly_types::*;
use crate::nmod_types::*;
#[repr(C)]
pub struct nmod_mpoly_univar_struct {
pub coeffs: *mut nmod_mpoly_struct,
pub exps: *mut fmpz,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_mpoly_univar_struct"]
[::std::mem::size_of::<nmod_mpoly_univar_struct>() - 32usize];
["Alignment of nmod_mpoly_univar_struct"]
[::std::mem::align_of::<nmod_mpoly_univar_struct>() - 8usize];
["Offset of field: nmod_mpoly_univar_struct::coeffs"]
[::std::mem::offset_of!(nmod_mpoly_univar_struct, coeffs) - 0usize];
["Offset of field: nmod_mpoly_univar_struct::exps"]
[::std::mem::offset_of!(nmod_mpoly_univar_struct, exps) - 8usize];
["Offset of field: nmod_mpoly_univar_struct::alloc"]
[::std::mem::offset_of!(nmod_mpoly_univar_struct, alloc) - 16usize];
["Offset of field: nmod_mpoly_univar_struct::length"]
[::std::mem::offset_of!(nmod_mpoly_univar_struct, length) - 24usize];
};
impl Default for nmod_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 nmod_mpoly_univar_t = [nmod_mpoly_univar_struct; 1usize];
#[repr(C)]
pub struct nmod_mpolyu_struct {
pub coeffs: *mut nmod_mpoly_struct,
pub exps: *mut ulong,
pub alloc: slong,
pub length: slong,
pub bits: flint_bitcnt_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_mpolyu_struct"][::std::mem::size_of::<nmod_mpolyu_struct>() - 40usize];
["Alignment of nmod_mpolyu_struct"][::std::mem::align_of::<nmod_mpolyu_struct>() - 8usize];
["Offset of field: nmod_mpolyu_struct::coeffs"]
[::std::mem::offset_of!(nmod_mpolyu_struct, coeffs) - 0usize];
["Offset of field: nmod_mpolyu_struct::exps"]
[::std::mem::offset_of!(nmod_mpolyu_struct, exps) - 8usize];
["Offset of field: nmod_mpolyu_struct::alloc"]
[::std::mem::offset_of!(nmod_mpolyu_struct, alloc) - 16usize];
["Offset of field: nmod_mpolyu_struct::length"]
[::std::mem::offset_of!(nmod_mpolyu_struct, length) - 24usize];
["Offset of field: nmod_mpolyu_struct::bits"]
[::std::mem::offset_of!(nmod_mpolyu_struct, bits) - 32usize];
};
impl Default for nmod_mpolyu_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_mpolyu_t = [nmod_mpolyu_struct; 1usize];
#[repr(C)]
pub struct nmod_mpolyd_struct {
pub nvars: slong,
pub degb_alloc: slong,
pub deg_bounds: *mut slong,
pub coeff_alloc: slong,
pub coeffs: *mut ulong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_mpolyd_struct"][::std::mem::size_of::<nmod_mpolyd_struct>() - 40usize];
["Alignment of nmod_mpolyd_struct"][::std::mem::align_of::<nmod_mpolyd_struct>() - 8usize];
["Offset of field: nmod_mpolyd_struct::nvars"]
[::std::mem::offset_of!(nmod_mpolyd_struct, nvars) - 0usize];
["Offset of field: nmod_mpolyd_struct::degb_alloc"]
[::std::mem::offset_of!(nmod_mpolyd_struct, degb_alloc) - 8usize];
["Offset of field: nmod_mpolyd_struct::deg_bounds"]
[::std::mem::offset_of!(nmod_mpolyd_struct, deg_bounds) - 16usize];
["Offset of field: nmod_mpolyd_struct::coeff_alloc"]
[::std::mem::offset_of!(nmod_mpolyd_struct, coeff_alloc) - 24usize];
["Offset of field: nmod_mpolyd_struct::coeffs"]
[::std::mem::offset_of!(nmod_mpolyd_struct, coeffs) - 32usize];
};
impl Default for nmod_mpolyd_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_mpolyd_t = [nmod_mpolyd_struct; 1usize];
#[repr(C)]
pub struct nmod_poly_stack_struct {
pub poly_array: *mut *mut n_poly_struct,
pub poly_alloc: slong,
pub poly_top: slong,
pub mpolyun_array: *mut *mut nmod_mpolyun_struct,
pub mpolyun_alloc: slong,
pub mpolyun_top: slong,
pub mpolyn_array: *mut *mut nmod_mpolyn_struct,
pub mpolyn_alloc: slong,
pub mpolyn_top: slong,
pub ctx: *const nmod_mpoly_ctx_struct,
pub bits: flint_bitcnt_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_poly_stack_struct"][::std::mem::size_of::<nmod_poly_stack_struct>() - 88usize];
["Alignment of nmod_poly_stack_struct"]
[::std::mem::align_of::<nmod_poly_stack_struct>() - 8usize];
["Offset of field: nmod_poly_stack_struct::poly_array"]
[::std::mem::offset_of!(nmod_poly_stack_struct, poly_array) - 0usize];
["Offset of field: nmod_poly_stack_struct::poly_alloc"]
[::std::mem::offset_of!(nmod_poly_stack_struct, poly_alloc) - 8usize];
["Offset of field: nmod_poly_stack_struct::poly_top"]
[::std::mem::offset_of!(nmod_poly_stack_struct, poly_top) - 16usize];
["Offset of field: nmod_poly_stack_struct::mpolyun_array"]
[::std::mem::offset_of!(nmod_poly_stack_struct, mpolyun_array) - 24usize];
["Offset of field: nmod_poly_stack_struct::mpolyun_alloc"]
[::std::mem::offset_of!(nmod_poly_stack_struct, mpolyun_alloc) - 32usize];
["Offset of field: nmod_poly_stack_struct::mpolyun_top"]
[::std::mem::offset_of!(nmod_poly_stack_struct, mpolyun_top) - 40usize];
["Offset of field: nmod_poly_stack_struct::mpolyn_array"]
[::std::mem::offset_of!(nmod_poly_stack_struct, mpolyn_array) - 48usize];
["Offset of field: nmod_poly_stack_struct::mpolyn_alloc"]
[::std::mem::offset_of!(nmod_poly_stack_struct, mpolyn_alloc) - 56usize];
["Offset of field: nmod_poly_stack_struct::mpolyn_top"]
[::std::mem::offset_of!(nmod_poly_stack_struct, mpolyn_top) - 64usize];
["Offset of field: nmod_poly_stack_struct::ctx"]
[::std::mem::offset_of!(nmod_poly_stack_struct, ctx) - 72usize];
["Offset of field: nmod_poly_stack_struct::bits"]
[::std::mem::offset_of!(nmod_poly_stack_struct, bits) - 80usize];
};
impl Default for nmod_poly_stack_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_poly_stack_t = [nmod_poly_stack_struct; 1usize];
#[repr(C)]
pub struct nmod_mpolyd_ctx_struct {
pub nvars: slong,
pub perm: *mut slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_mpolyd_ctx_struct"][::std::mem::size_of::<nmod_mpolyd_ctx_struct>() - 16usize];
["Alignment of nmod_mpolyd_ctx_struct"]
[::std::mem::align_of::<nmod_mpolyd_ctx_struct>() - 8usize];
["Offset of field: nmod_mpolyd_ctx_struct::nvars"]
[::std::mem::offset_of!(nmod_mpolyd_ctx_struct, nvars) - 0usize];
["Offset of field: nmod_mpolyd_ctx_struct::perm"]
[::std::mem::offset_of!(nmod_mpolyd_ctx_struct, perm) - 8usize];
};
impl Default for nmod_mpolyd_ctx_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_mpolyd_ctx_t = [nmod_mpolyd_ctx_struct; 1usize];
#[repr(C)]
pub struct _nmod_mpoly_stripe_struct {
pub big_mem: *mut libc::c_char,
pub big_mem_alloc: slong,
pub ctx: *const nmod_mpoly_ctx_struct,
pub N: slong,
pub bits: flint_bitcnt_t,
pub mod_: nmod_t,
pub lc_minus_inv: ulong,
pub cmpmask: *const ulong,
pub startidx: *mut slong,
pub endidx: *mut slong,
pub emin: *mut ulong,
pub emax: *mut ulong,
pub upperclosed: libc::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of _nmod_mpoly_stripe_struct"]
[::std::mem::size_of::<_nmod_mpoly_stripe_struct>() - 120usize];
["Alignment of _nmod_mpoly_stripe_struct"]
[::std::mem::align_of::<_nmod_mpoly_stripe_struct>() - 8usize];
["Offset of field: _nmod_mpoly_stripe_struct::big_mem"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, big_mem) - 0usize];
["Offset of field: _nmod_mpoly_stripe_struct::big_mem_alloc"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, big_mem_alloc) - 8usize];
["Offset of field: _nmod_mpoly_stripe_struct::ctx"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, ctx) - 16usize];
["Offset of field: _nmod_mpoly_stripe_struct::N"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, N) - 24usize];
["Offset of field: _nmod_mpoly_stripe_struct::bits"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, bits) - 32usize];
["Offset of field: _nmod_mpoly_stripe_struct::mod_"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, mod_) - 40usize];
["Offset of field: _nmod_mpoly_stripe_struct::lc_minus_inv"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, lc_minus_inv) - 64usize];
["Offset of field: _nmod_mpoly_stripe_struct::cmpmask"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, cmpmask) - 72usize];
["Offset of field: _nmod_mpoly_stripe_struct::startidx"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, startidx) - 80usize];
["Offset of field: _nmod_mpoly_stripe_struct::endidx"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, endidx) - 88usize];
["Offset of field: _nmod_mpoly_stripe_struct::emin"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, emin) - 96usize];
["Offset of field: _nmod_mpoly_stripe_struct::emax"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, emax) - 104usize];
["Offset of field: _nmod_mpoly_stripe_struct::upperclosed"]
[::std::mem::offset_of!(_nmod_mpoly_stripe_struct, upperclosed) - 112usize];
};
impl Default for _nmod_mpoly_stripe_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_stripe_struct = _nmod_mpoly_stripe_struct;
pub type nmod_mpoly_stripe_t = [nmod_mpoly_stripe_struct; 1usize];
#[repr(C)]
pub struct nmod_mpoly_geobucket {
pub polys: [nmod_mpoly_struct; 32usize],
pub temps: [nmod_mpoly_struct; 32usize],
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nmod_mpoly_geobucket"][::std::mem::size_of::<nmod_mpoly_geobucket>() - 3080usize];
["Alignment of nmod_mpoly_geobucket"][::std::mem::align_of::<nmod_mpoly_geobucket>() - 8usize];
["Offset of field: nmod_mpoly_geobucket::polys"]
[::std::mem::offset_of!(nmod_mpoly_geobucket, polys) - 0usize];
["Offset of field: nmod_mpoly_geobucket::temps"]
[::std::mem::offset_of!(nmod_mpoly_geobucket, temps) - 1536usize];
["Offset of field: nmod_mpoly_geobucket::length"]
[::std::mem::offset_of!(nmod_mpoly_geobucket, length) - 3072usize];
};
impl Default for nmod_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 nmod_mpoly_geobucket_struct = nmod_mpoly_geobucket;
pub type nmod_mpoly_geobucket_t = [nmod_mpoly_geobucket_struct; 1usize];
extern "C" {
#[link_name = "nmod_mpoly_term_coeff_ref__extern"]
pub fn nmod_mpoly_term_coeff_ref(
A: *mut nmod_mpoly_struct,
i: slong,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> *mut ulong;
#[link_name = "evil_cast_nmod_poly_to_n_poly__extern"]
pub fn evil_cast_nmod_poly_to_n_poly(a: *mut nmod_poly_struct) -> *mut n_poly_struct;
#[link_name = "evil_const_cast_nmod_poly_to_n_poly__extern"]
pub fn evil_const_cast_nmod_poly_to_n_poly(a: *const nmod_poly_struct) -> *const n_poly_struct;
pub fn nmod_poly_stack_init(
S: *mut nmod_poly_stack_struct,
bits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_poly_stack_clear(S: *mut nmod_poly_stack_struct);
pub fn nmod_poly_stack_set_ctx(
S: *mut nmod_poly_stack_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_poly_stack_fit_request_poly(
S: *mut nmod_poly_stack_struct,
k: slong,
) -> *mut *mut n_poly_struct;
pub fn nmod_poly_stack_fit_request_mpolyun(
S: *mut nmod_poly_stack_struct,
k: slong,
) -> *mut *mut nmod_mpolyun_struct;
pub fn nmod_poly_stack_fit_request_mpolyn(
S: *mut nmod_poly_stack_struct,
k: slong,
) -> *mut *mut nmod_mpolyn_struct;
#[link_name = "nmod_poly_stack_request_poly__extern"]
pub fn nmod_poly_stack_request_poly(
S: *mut nmod_poly_stack_struct,
k: slong,
) -> *mut *mut n_poly_struct;
#[link_name = "nmod_poly_stack_take_top_poly__extern"]
pub fn nmod_poly_stack_take_top_poly(S: *mut nmod_poly_stack_struct) -> *mut n_poly_struct;
#[link_name = "nmod_poly_stack_give_back_poly__extern"]
pub fn nmod_poly_stack_give_back_poly(S: *mut nmod_poly_stack_struct, k: slong);
#[link_name = "nmod_poly_stack_size_poly__extern"]
pub fn nmod_poly_stack_size_poly(S: *const nmod_poly_stack_struct) -> slong;
#[link_name = "nmod_poly_stack_request_mpolyun__extern"]
pub fn nmod_poly_stack_request_mpolyun(
S: *mut nmod_poly_stack_struct,
k: slong,
) -> *mut *mut nmod_mpolyun_struct;
#[link_name = "nmod_poly_stack_take_top_mpolyun__extern"]
pub fn nmod_poly_stack_take_top_mpolyun(
S: *mut nmod_poly_stack_struct,
) -> *mut nmod_mpolyun_struct;
#[link_name = "nmod_poly_stack_give_back_mpolyun__extern"]
pub fn nmod_poly_stack_give_back_mpolyun(S: *mut nmod_poly_stack_struct, k: slong);
#[link_name = "nmod_poly_stack_size_mpolyun__extern"]
pub fn nmod_poly_stack_size_mpolyun(S: *const nmod_poly_stack_struct) -> slong;
#[link_name = "nmod_poly_stack_request_mpolyn__extern"]
pub fn nmod_poly_stack_request_mpolyn(
S: *mut nmod_poly_stack_struct,
k: slong,
) -> *mut *mut nmod_mpolyn_struct;
#[link_name = "nmod_poly_stack_take_top_mpolyn__extern"]
pub fn nmod_poly_stack_take_top_mpolyn(
S: *mut nmod_poly_stack_struct,
) -> *mut nmod_mpolyn_struct;
#[link_name = "nmod_poly_stack_give_back_mpolyn__extern"]
pub fn nmod_poly_stack_give_back_mpolyn(S: *mut nmod_poly_stack_struct, k: slong);
#[link_name = "nmod_poly_stack_size_mpolyn__extern"]
pub fn nmod_poly_stack_size_mpolyn(S: *const nmod_poly_stack_struct) -> slong;
pub fn nmod_mpoly_ctx_init(
ctx: *mut nmod_mpoly_ctx_struct,
nvars: slong,
ord: ordering_t,
modulus: ulong,
);
pub fn nmod_mpoly_ctx_init_rand(
ctx: *mut nmod_mpoly_ctx_struct,
state: *mut flint_rand_struct,
max_nvars: slong,
modulus: ulong,
);
pub fn nmod_mpoly_ctx_clear(ctx: *mut nmod_mpoly_ctx_struct);
pub fn nmod_mpoly_ctx_set_modulus(ctx: *mut nmod_mpoly_ctx_struct, modulus: ulong);
#[link_name = "nmod_mpoly_ctx_nvars__extern"]
pub fn nmod_mpoly_ctx_nvars(ctx: *const nmod_mpoly_ctx_struct) -> slong;
#[link_name = "nmod_mpoly_ctx_ord__extern"]
pub fn nmod_mpoly_ctx_ord(ctx: *const nmod_mpoly_ctx_struct) -> ordering_t;
#[link_name = "nmod_mpoly_ctx_modulus__extern"]
pub fn nmod_mpoly_ctx_modulus(ctx: *const nmod_mpoly_ctx_struct) -> ulong;
#[link_name = "nmod_mpoly_init__extern"]
pub fn nmod_mpoly_init(A: *mut nmod_mpoly_struct, UNUSED_ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpoly_init2(
A: *mut nmod_mpoly_struct,
alloc: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_init3(
A: *mut nmod_mpoly_struct,
alloc: slong,
bits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_realloc(
A: *mut nmod_mpoly_struct,
alloc: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_clear__extern"]
pub fn nmod_mpoly_clear(A: *mut nmod_mpoly_struct, UNUSED_ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpoly_fit_length(
A: *mut nmod_mpoly_struct,
length: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_fit_length_fit_bits(
A: *mut nmod_mpoly_struct,
len: slong,
bits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_fit_length_reset_bits(
A: *mut nmod_mpoly_struct,
len: slong,
bits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "_nmod_mpoly_fit_length__extern"]
pub fn _nmod_mpoly_fit_length(
coeffs: *mut *mut ulong,
coeffs_alloc: *mut slong,
exps: *mut *mut ulong,
exps_alloc: *mut slong,
N: slong,
length: slong,
);
#[link_name = "_nmod_mpoly_set_length__extern"]
pub fn _nmod_mpoly_set_length(
A: *mut nmod_mpoly_struct,
newlen: slong,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_truncate__extern"]
pub fn nmod_mpoly_truncate(
A: *mut nmod_mpoly_struct,
newlen: slong,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_str_pretty(
A: *mut nmod_mpoly_struct,
str_: *const libc::c_char,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_get_str_pretty(
A: *const nmod_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
) -> *mut libc::c_char;
pub fn nmod_mpoly_fprint_pretty(
file: *mut FILE,
A: *const nmod_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_print_pretty(
A: *const nmod_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_gen(A: *mut nmod_mpoly_struct, var: slong, ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpoly_is_gen(
A: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_set(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_equal(
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_swap__extern"]
pub fn nmod_mpoly_swap(
A: *mut nmod_mpoly_struct,
B: *mut nmod_mpoly_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_is_ui(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_get_ui(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_set_ui(
A: *mut nmod_mpoly_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_fmpz(
A: *mut nmod_mpoly_struct,
c: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_zero__extern"]
pub fn nmod_mpoly_zero(A: *mut nmod_mpoly_struct, ctx: *const nmod_mpoly_ctx_struct);
#[link_name = "nmod_mpoly_one__extern"]
pub fn nmod_mpoly_one(A: *mut nmod_mpoly_struct, ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpoly_equal_ui(
A: *const nmod_mpoly_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_is_zero__extern"]
pub fn nmod_mpoly_is_zero(
A: *const nmod_mpoly_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_is_one__extern"]
pub fn nmod_mpoly_is_one(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_degrees_fit_si(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_degrees_fmpz(
degs: *mut *mut fmpz,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_degrees_si(
degs: *mut slong,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_degree_fmpz(
deg: *mut fmpz,
A: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_degree_si(
A: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_total_degree_fits_si(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_total_degree_fmpz(
td: *mut fmpz,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_total_degree_si(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_used_vars(
used: *mut libc::c_int,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_coeff_ui_monomial(
A: *const nmod_mpoly_struct,
M: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_set_coeff_ui_monomial(
A: *mut nmod_mpoly_struct,
c: ulong,
M: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_coeff_ui_ui(
A: *const nmod_mpoly_struct,
exp: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_get_coeff_ui_fmpz(
A: *const nmod_mpoly_struct,
exp: *const *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn _nmod_mpoly_set_coeff_ui_fmpz(
A: *mut nmod_mpoly_struct,
c: ulong,
exp: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_coeff_ui_fmpz(
A: *mut nmod_mpoly_struct,
c: ulong,
exp: *const *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_coeff_ui_ui(
A: *mut nmod_mpoly_struct,
c: ulong,
exp: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_coeff_vars_ui(
C: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
vars: *const slong,
exps: *const ulong,
length: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_leadcoeff__extern"]
pub fn nmod_mpoly_leadcoeff(
A: *mut nmod_mpoly_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_is_nmod_poly(
A: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_get_n_poly(
A: *mut n_poly_struct,
B: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_get_nmod_poly(
A: *mut nmod_poly_struct,
B: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_set_n_poly_mod(
A: *mut nmod_mpoly_struct,
B: *const n_poly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_set_nmod_poly(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
Bcoeffs: *const ulong,
Blen: slong,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_nmod_poly(
A: *mut nmod_mpoly_struct,
B: *const nmod_poly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_cmp(
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_is_canonical(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_length__extern"]
pub fn nmod_mpoly_length(
A: *const nmod_mpoly_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_resize(
A: *mut nmod_mpoly_struct,
new_length: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_term_coeff_ui(
A: *const nmod_mpoly_struct,
i: slong,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_set_term_coeff_ui(
A: *mut nmod_mpoly_struct,
i: slong,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_term_exp_fits_ui(
A: *const nmod_mpoly_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_term_exp_fits_si(
A: *const nmod_mpoly_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_get_term_exp_si(
exp: *mut slong,
A: *const nmod_mpoly_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_term_exp_ui(
exp: *mut ulong,
A: *const nmod_mpoly_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_term_exp_fmpz(
exp: *mut *mut fmpz,
A: *const nmod_mpoly_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_term_var_exp_si(
A: *const nmod_mpoly_struct,
i: slong,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_get_term_var_exp_ui(
A: *const nmod_mpoly_struct,
i: slong,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_set_term_exp_ui(
A: *mut nmod_mpoly_struct,
i: slong,
exp: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_term_exp_fmpz(
A: *mut nmod_mpoly_struct,
i: slong,
exp: *const *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_term(
M: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_term_monomial(
M: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_push_term_ui_ui(
A: *mut nmod_mpoly_struct,
c: ulong,
exp: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_push_term_ui_fmpz(
A: *mut nmod_mpoly_struct,
c: ulong,
exp: *const *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_push_term_ui_ffmpz(
A: *mut nmod_mpoly_struct,
c: ulong,
exp: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_sort_terms(A: *mut nmod_mpoly_struct, ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpoly_combine_like_terms(
A: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_reverse(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_assert_canonical(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_radix_sort1(
A: *mut nmod_mpoly_struct,
left: slong,
right: slong,
pos: flint_bitcnt_t,
cmpmask: ulong,
totalmask: ulong,
);
pub fn _nmod_mpoly_radix_sort(
A: *mut nmod_mpoly_struct,
left: slong,
right: slong,
pos: flint_bitcnt_t,
N: slong,
cmpmask: *mut ulong,
);
pub fn _nmod_mpoly_push_exp_ui(
A: *mut nmod_mpoly_struct,
exp: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_push_exp_ffmpz(
A: *mut nmod_mpoly_struct,
exp: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_push_exp_pfmpz(
A: *mut nmod_mpoly_struct,
exp: *const *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_randtest_bounds(
A: *mut nmod_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
exp_bounds: *mut ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_randtest_bound(
A: *mut nmod_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
exp_bound: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_randtest_bits(
A: *mut nmod_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
exp_bits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_get_term_ui_fmpz(
poly: *const nmod_mpoly_struct,
exp: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_get_term_ui_fmpz(
poly: *const nmod_mpoly_struct,
exp: *const *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_get_term_ui_ui(
poly: *const nmod_mpoly_struct,
exp: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn _nmod_mpoly_max_degrees(
max_degs: *mut ulong,
exps: *const ulong,
len: slong,
bits: slong,
n: slong,
deg: libc::c_int,
rev: libc::c_int,
N: slong,
);
pub fn nmod_mpoly_max_degrees(
max_degs: *mut ulong,
poly: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_nmod(
poly: *mut nmod_mpoly_struct,
c: nmod_t,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_coeff_ui(
x: nmod_t,
poly: *const nmod_mpoly_struct,
n: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_set_coeff_ui(
poly: *mut nmod_mpoly_struct,
n: slong,
x: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_get_monomial(
exps: *mut ulong,
poly: *const nmod_mpoly_struct,
n: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_set_monomial(
poly: *mut nmod_mpoly_struct,
n: slong,
exps: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_add_ui(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_add(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_sub_ui(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_sub(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_add(
coeff1: *mut ulong,
exp1: *mut ulong,
coeff2: *const ulong,
exp2: *const ulong,
len2: slong,
coeff3: *const ulong,
exp3: *const ulong,
len3: slong,
N: slong,
cmpmask: *const ulong,
fctx: nmod_t,
) -> slong;
pub fn _nmod_mpoly_sub(
coeff1: *mut ulong,
exp1: *mut ulong,
coeff2: *const ulong,
exp2: *const ulong,
len2: slong,
coeff3: *const ulong,
exp3: *const ulong,
len3: slong,
N: slong,
cmpmask: *const ulong,
fctx: nmod_t,
) -> slong;
pub fn nmod_mpoly_neg(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_scalar_mul_ui(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_make_monic(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_scalar_mul_nmod_invertible(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_scalar_addmul_ui(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
d: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_derivative(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _ff_poly_pow_ui_is_not_feasible(length: slong, e: ulong) -> libc::c_int;
pub fn _ff_poly_pow_fmpz_is_not_feasible(length: slong, e: *const fmpz) -> libc::c_int;
pub fn _nmod_mpoly_eval_all_ui(
Acoeffs: *const ulong,
Aexps: *const ulong,
Alen: slong,
Abits: flint_bitcnt_t,
alphas: *const ulong,
mctx: *const mpoly_ctx_struct,
mod_: nmod_t,
) -> ulong;
pub fn nmod_mpoly_evaluate_all_ui(
A: *const nmod_mpoly_struct,
vals: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpoly_evaluate_one_ui(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
var: slong,
val: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_compose_nmod_poly(
A: *mut nmod_poly_struct,
B: *const nmod_mpoly_struct,
C: *const *mut nmod_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_compose_mat(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
M: *const fmpz_mat_struct,
ctxB: *const nmod_mpoly_ctx_struct,
ctxAC: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_compose_nmod_mpoly_geobucket(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const *mut nmod_mpoly_struct,
ctxB: *const nmod_mpoly_ctx_struct,
ctxAC: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_compose_nmod_mpoly_horner(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const *mut nmod_mpoly_struct,
ctxB: *const nmod_mpoly_ctx_struct,
ctxAC: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_compose_nmod_mpoly(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const *mut nmod_mpoly_struct,
ctxB: *const nmod_mpoly_ctx_struct,
ctxAC: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_compose_nmod_mpoly_gen(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
c: *const slong,
ctxB: *const nmod_mpoly_ctx_struct,
ctxAC: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_mul(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_mul_johnson(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_mul_heap_threaded(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_mul_array(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_mul_array_threaded(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_mul_dense(
P: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
maxAfields: *mut fmpz,
B: *const nmod_mpoly_struct,
maxBfields: *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_mul_dense(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
C: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_mul_johnson(
A: *mut nmod_mpoly_struct,
coeff2: *const ulong,
exp2: *const ulong,
len2: slong,
coeff3: *const ulong,
exp3: *const ulong,
len3: slong,
bits: flint_bitcnt_t,
N: slong,
cmpmask: *const ulong,
fctx: nmod_t,
) -> slong;
pub fn _nmod_mpoly_mul_johnson_maxfields(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
maxBfields: *mut fmpz,
C: *const nmod_mpoly_struct,
maxCfields: *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_mul_heap_threaded_pool_maxfields(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
maxBfields: *mut fmpz,
C: *const nmod_mpoly_struct,
maxCfields: *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
handles: *const thread_pool_handle,
num_handles: slong,
);
pub fn _nmod_mpoly_mul_array_DEG(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
maxBfields: *mut fmpz,
C: *const nmod_mpoly_struct,
maxCfields: *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_mul_array_LEX(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
maxBfields: *mut fmpz,
C: *const nmod_mpoly_struct,
maxCfields: *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_mul_array_threaded_pool_DEG(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
maxBfields: *mut fmpz,
C: *const nmod_mpoly_struct,
maxCfields: *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
handles: *const thread_pool_handle,
num_handles: slong,
) -> libc::c_int;
pub fn _nmod_mpoly_mul_array_threaded_pool_LEX(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
maxBfields: *mut fmpz,
C: *const nmod_mpoly_struct,
maxCfields: *mut fmpz,
ctx: *const nmod_mpoly_ctx_struct,
handles: *const thread_pool_handle,
num_handles: slong,
) -> libc::c_int;
pub fn _nmod_mpoly_pow_rmul(
A: *mut nmod_mpoly_struct,
Bcoeffs: *const ulong,
Bexps: *const ulong,
Blen: slong,
k: ulong,
N: slong,
cmpmask: *const ulong,
mod_: nmod_t,
T: *mut nmod_mpoly_struct,
);
pub fn nmod_mpoly_pow_rmul(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
k: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_pow_ui(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
k: ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_pow_fmpz(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
k: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_divides(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_divides_threaded_pool(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
handles: *const thread_pool_handle,
num_handles: slong,
) -> libc::c_int;
pub fn nmod_mpoly_divides_monagan_pearce(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_divides_heap_threaded(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_divides_heap_threaded_pool(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
handles: *const thread_pool_handle,
num_handles: slong,
) -> libc::c_int;
pub fn nmod_mpoly_divides_dense(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_div(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_divrem(
Q: *mut nmod_mpoly_struct,
R: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_divrem_ideal(
Q: *mut *mut nmod_mpoly_struct,
R: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const *mut nmod_mpoly_struct,
len: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_divexact__extern"]
pub fn nmod_mpoly_divexact(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_divides_monagan_pearce(
Q: *mut nmod_mpoly_struct,
coeff2: *const ulong,
exp2: *const ulong,
len2: slong,
coeff3: *const ulong,
exp3: *const ulong,
len3: slong,
bits: flint_bitcnt_t,
N: slong,
cmpmask: *const ulong,
fctx: nmod_t,
) -> libc::c_int;
pub fn nmod_mpoly_div_monagan_pearce(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_divrem_monagan_pearce(
q: *mut nmod_mpoly_struct,
r: *mut nmod_mpoly_struct,
poly2: *const nmod_mpoly_struct,
poly3: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_divrem_ideal_monagan_pearce(
Q: *mut *mut nmod_mpoly_struct,
R: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const *mut nmod_mpoly_struct,
len: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_sqrt_heap(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_sqrt__extern"]
pub fn nmod_mpoly_sqrt(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_is_square__extern"]
pub fn nmod_mpoly_is_square(
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_quadratic_root(
Q: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_term_content(
M: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_content_vars(
g: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
vars: *mut slong,
vars_length: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_gcd(
G: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_gcd_algo_small(
G: *mut nmod_mpoly_struct,
Abar: *mut nmod_mpoly_struct,
Bbar: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
algo: libc::c_uint,
) -> libc::c_int;
pub fn _nmod_mpoly_gcd_algo(
G: *mut nmod_mpoly_struct,
Abar: *mut nmod_mpoly_struct,
Bbar: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
algo: libc::c_uint,
) -> libc::c_int;
pub fn nmod_mpoly_gcd_cofactors(
G: *mut nmod_mpoly_struct,
Abar: *mut nmod_mpoly_struct,
Bbar: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_gcd_brown(
G: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_gcd_hensel(
G: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_gcd_zippel(
G: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_gcd_zippel2(
G: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_deflation(
shift: *mut fmpz,
stride: *mut fmpz,
A: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_deflate(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
shift: *const fmpz,
stride: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_inflate(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
shift: *const fmpz,
stride: *const fmpz,
ctx: *const nmod_mpoly_ctx_struct,
);
#[doc = "Internal functions (guaranteed to change without notice)"]
pub fn mpoly_void_ring_init_nmod_mpoly_ctx(
R: *mut _bindgen_ty_2,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyl_lead_coeff(
c: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
num_vars: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyl_content(
g: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
num_vars: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_to_nmod_poly_deflate(
A: *mut nmod_poly_struct,
B: *const nmod_mpoly_struct,
var: slong,
Bshift: *const ulong,
Bstride: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_from_nmod_poly_inflate(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const nmod_poly_struct,
var: slong,
Ashift: *const ulong,
Astride: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_repack_bits(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_repack_bits_inplace(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_univar_init(
A: *mut nmod_mpoly_univar_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_univar_clear(
A: *mut nmod_mpoly_univar_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_univar_fit_length(
A: *mut nmod_mpoly_univar_struct,
length: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_univar_print_pretty(
A: *const nmod_mpoly_univar_struct,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_univar_assert_canonical(
A: *mut nmod_mpoly_univar_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_univar_zero__extern"]
pub fn nmod_mpoly_univar_zero(
A: *mut nmod_mpoly_univar_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_univar_set_coeff_ui(
A: *mut nmod_mpoly_univar_struct,
e: ulong,
c: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_to_univar(
A: *mut nmod_mpoly_univar_struct,
B: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_from_univar(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const nmod_mpoly_univar_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_from_univar(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpoly_univar_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_univar_swap__extern"]
pub fn nmod_mpoly_univar_swap(
A: *mut nmod_mpoly_univar_struct,
B: *mut nmod_mpoly_univar_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_univar_degree_fits_si(
A: *const nmod_mpoly_univar_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "nmod_mpoly_univar_length__extern"]
pub fn nmod_mpoly_univar_length(
A: *const nmod_mpoly_univar_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_univar_get_term_exp_si(
A: *mut nmod_mpoly_univar_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
#[link_name = "nmod_mpoly_univar_get_term_coeff__extern"]
pub fn nmod_mpoly_univar_get_term_coeff(
c: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_univar_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpoly_univar_swap_term_coeff__extern"]
pub fn nmod_mpoly_univar_swap_term_coeff(
c: *mut nmod_mpoly_struct,
A: *mut nmod_mpoly_univar_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_univar_pseudo_gcd(
Gx: *mut nmod_mpoly_univar_struct,
Ax: *const nmod_mpoly_univar_struct,
Bx: *const nmod_mpoly_univar_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_univar_resultant(
R: *mut nmod_mpoly_struct,
Ax: *const nmod_mpoly_univar_struct,
Bx: *const nmod_mpoly_univar_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_univar_discriminant(
D: *mut nmod_mpoly_struct,
Fx: *const nmod_mpoly_univar_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_resultant(
R: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_discriminant(
R: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_mul_array_chunked_LEX(
P: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
mults: *const ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_mul_array_chunked_DEG(
P: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
degb: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpoly_addmul_array1_ulong1(
poly1: *mut ulong,
poly2: *const ulong,
exp2: *const ulong,
len2: slong,
poly3: *const ulong,
exp3: *const ulong,
len3: slong,
);
pub fn _nmod_mpoly_addmul_array1_ulong2(
poly1: *mut ulong,
poly2: *const ulong,
exp2: *const ulong,
len2: slong,
poly3: *const ulong,
exp3: *const ulong,
len3: slong,
);
pub fn _nmod_mpoly_addmul_array1_ulong3(
poly1: *mut ulong,
poly2: *const ulong,
exp2: *const ulong,
len2: slong,
poly3: *const ulong,
exp3: *const ulong,
len3: slong,
);
pub fn nmod_mpoly_append_array_sm1_LEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
mults: *const ulong,
num: slong,
array_size: slong,
top: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm2_LEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
mults: *const ulong,
num: slong,
array_size: slong,
top: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm3_LEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
mults: *const ulong,
num: slong,
array_size: slong,
top: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm1_DEGLEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
top: slong,
nvars: slong,
degb: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm2_DEGLEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
top: slong,
nvars: slong,
degb: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm3_DEGLEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
top: slong,
nvars: slong,
degb: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm1_DEGREVLEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
top: slong,
nvars: slong,
degb: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm2_DEGREVLEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
top: slong,
nvars: slong,
degb: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpoly_append_array_sm3_DEGREVLEX(
P: *mut nmod_mpoly_struct,
Plen: slong,
coeff_array: *mut ulong,
top: slong,
nvars: slong,
degb: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpolyd_ctx_init(dctx: *mut nmod_mpolyd_ctx_struct, nvars: slong);
pub fn nmod_mpolyd_ctx_clear(dctx: *mut nmod_mpolyd_ctx_struct);
#[link_name = "nmod_mpolyd_swap__extern"]
pub fn nmod_mpolyd_swap(poly1: *mut nmod_mpolyd_struct, poly2: *mut nmod_mpolyd_struct);
pub fn nmod_mpolyd_set_degbounds(A: *mut nmod_mpolyd_struct, bounds: *mut slong)
-> libc::c_int;
pub fn nmod_mpolyd_set_degbounds_perm(
A: *mut nmod_mpolyd_struct,
dctx: *const nmod_mpolyd_ctx_struct,
bounds: *mut slong,
) -> libc::c_int;
pub fn nmod_mpoly_convert_to_nmod_mpolyd(
A: *mut nmod_mpolyd_struct,
dctx: *const nmod_mpolyd_ctx_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_convert_to_nmod_mpolyd_degbound(
A: *mut nmod_mpolyd_struct,
dctx: *const nmod_mpolyd_ctx_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_convert_from_nmod_mpolyd(
A: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpolyd_struct,
dctx: *const nmod_mpolyd_ctx_struct,
);
pub fn nmod_mpolyd_init(poly: *mut nmod_mpolyd_struct, nvars: slong);
pub fn nmod_mpolyd_fit_length(poly: *mut nmod_mpolyd_struct, len: slong);
pub fn nmod_mpolyd_zero(poly: *mut nmod_mpolyd_struct);
pub fn nmod_mpolyd_set_nvars(poly: *mut nmod_mpolyd_struct, nvars: slong);
pub fn nmod_mpolyd_set(A: *mut nmod_mpolyd_struct, B: *const nmod_mpolyd_struct);
pub fn nmod_mpolyd_clear(poly: *mut nmod_mpolyd_struct);
pub fn nmod_mpolyd_print(poly: *mut nmod_mpolyd_struct);
pub fn nmod_mpolyd_length(A: *const nmod_mpolyd_struct) -> slong;
pub fn nmod_mpolyu_init(
A: *mut nmod_mpolyu_struct,
bits: flint_bitcnt_t,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_clear(A: *mut nmod_mpolyu_struct, uctx: *const nmod_mpoly_ctx_struct);
#[link_name = "nmod_mpolyu_swap__extern"]
pub fn nmod_mpolyu_swap(
A: *mut nmod_mpolyu_struct,
B: *mut nmod_mpolyu_struct,
UNUSED_uctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpolyu_zero__extern"]
pub fn nmod_mpolyu_zero(A: *mut nmod_mpolyu_struct, UNUSED_uctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyu_is_one(
A: *mut nmod_mpolyu_struct,
uctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyu_print_pretty(
poly: *const nmod_mpolyu_struct,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_fit_length(
A: *mut nmod_mpolyu_struct,
length: slong,
uctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_one(A: *mut nmod_mpolyu_struct, uctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyu_degrees_si(
degs: *mut slong,
A: *const nmod_mpolyu_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_repack_bits_inplace(
A: *mut nmod_mpolyu_struct,
bits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn _nmod_mpolyu_get_coeff(
A: *mut nmod_mpolyu_struct,
pow: ulong,
uctx: *const nmod_mpoly_ctx_struct,
) -> *mut nmod_mpoly_struct;
pub fn nmod_mpolyu_shift_right(A: *mut nmod_mpolyu_struct, s: ulong);
pub fn nmod_mpolyu_shift_left(A: *mut nmod_mpolyu_struct, s: ulong);
pub fn nmod_mpolyu_content_mpoly(
g: *mut nmod_mpoly_struct,
A: *const nmod_mpolyu_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyu_scalar_mul_nmod(
A: *mut nmod_mpolyu_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_set(
A: *mut nmod_mpolyu_struct,
B: *const nmod_mpolyu_struct,
uctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_cvtto_poly(
a: *mut nmod_poly_struct,
A: *mut nmod_mpolyu_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_cvtfrom_poly(
A: *mut nmod_mpolyu_struct,
a: *mut nmod_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_cvtfrom_poly_notmain(
A: *mut nmod_mpolyu_struct,
a: *mut nmod_poly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_to_mpolyu_perm_deflate_threaded_pool(
A: *mut nmod_mpolyu_struct,
uctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
handles: *const thread_pool_handle,
num_handles: slong,
);
pub fn nmod_mpoly_from_mpolyu_perm_inflate(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpolyu_struct,
uctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
);
pub fn nmod_mpolyuu_divides(
Q: *mut nmod_mpolyu_struct,
A: *const nmod_mpolyu_struct,
B: *const nmod_mpolyu_struct,
nmainvars: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyu_divexact_mpoly_inplace(
A: *mut nmod_mpolyu_struct,
c: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_mul_mpoly(
A: *mut nmod_mpolyu_struct,
B: *mut nmod_mpolyu_struct,
c: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_mul_mpoly_inplace(
A: *mut nmod_mpolyu_struct,
c: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_setform(
A: *mut nmod_mpolyu_struct,
B: *mut nmod_mpolyu_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_gcdm_zippel(
G: *mut nmod_mpolyu_struct,
Abar: *mut nmod_mpolyu_struct,
Bbar: *mut nmod_mpolyu_struct,
A: *mut nmod_mpolyu_struct,
B: *mut nmod_mpolyu_struct,
ctx: *mut nmod_mpoly_ctx_struct,
randstate: *mut flint_rand_struct,
) -> libc::c_int;
#[link_name = "nmod_mpolyu_leadcoeff__extern"]
pub fn nmod_mpolyu_leadcoeff(
A: *mut nmod_mpolyu_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpolyn_init(
A: *mut nmod_mpolyn_struct,
bits: flint_bitcnt_t,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_clear(A: *mut nmod_mpolyn_struct, UNUSED_ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyn_swap(A: *mut nmod_mpolyn_struct, B: *mut nmod_mpolyn_struct);
pub fn nmod_mpolyn_zero(A: *mut nmod_mpolyn_struct, UNUSED_ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyn_is_zero(
A: *mut nmod_mpolyn_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_print_pretty(
A: *const nmod_mpolyn_struct,
x_in: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_fit_length(
A: *mut nmod_mpolyn_struct,
length: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_set_length(
A: *mut nmod_mpolyn_struct,
newlen: slong,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_fit_bits(
A: *mut nmod_mpolyn_struct,
bits: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_is_canonical(
A: *const nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_set(
A: *mut nmod_mpolyn_struct,
B: *const nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_set_mpoly(
A: *mut nmod_mpolyn_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_cvtfrom_mpolyn(
A: *mut nmod_mpoly_struct,
B: *const nmod_mpolyn_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_mul_poly(
A: *mut nmod_mpolyn_struct,
B: *const nmod_mpolyn_struct,
c: *const n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_cvtto_mpolyn(
A: *mut nmod_mpolyn_struct,
B: *const nmod_mpoly_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
#[link_name = "nmod_mpolyn_leadcoeff__extern"]
pub fn nmod_mpolyn_leadcoeff(
A: *mut nmod_mpolyn_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
#[link_name = "nmod_mpolyn_leadcoeff_poly__extern"]
pub fn nmod_mpolyn_leadcoeff_poly(
A: *mut nmod_mpolyn_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> *mut n_poly_struct;
pub fn nmod_mpolyun_init(
A: *mut nmod_mpolyun_struct,
bits: flint_bitcnt_t,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_clear(A: *mut nmod_mpolyun_struct, ctx: *const nmod_mpoly_ctx_struct);
#[link_name = "nmod_mpolyun_swap__extern"]
pub fn nmod_mpolyun_swap(A: *mut nmod_mpolyun_struct, B: *mut nmod_mpolyun_struct);
pub fn nmod_mpolyun_zero(A: *mut nmod_mpolyun_struct, ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyun_print_pretty(
poly: *const nmod_mpolyun_struct,
x: *mut *const libc::c_char,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_fit_length(
A: *mut nmod_mpolyun_struct,
length: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_is_canonical(
A: *const nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyun_shift_right(A: *mut nmod_mpolyun_struct, s: ulong);
pub fn nmod_mpolyun_shift_left(A: *mut nmod_mpolyun_struct, s: ulong);
pub fn nmod_mpolyn_lastdeg(
A: *mut nmod_mpolyn_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpolyun_lastdeg(
A: *mut nmod_mpolyun_struct,
UNUSED_ctx: *const nmod_mpoly_ctx_struct,
) -> slong;
pub fn nmod_mpolyun_set(
A: *mut nmod_mpolyun_struct,
B: *const nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_one(A: *mut nmod_mpolyn_struct, ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyun_one(A: *mut nmod_mpolyun_struct, ctx: *const nmod_mpoly_ctx_struct);
pub fn nmod_mpolyun_leadcoeff_last(
A: *mut nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
pub fn nmod_mpolyn_set_mod(UNUSED_A: *mut nmod_mpolyn_struct, UNUSED_mod: nmod_t);
pub fn nmod_mpolyun_set_mod(UNUSED_A: *mut nmod_mpolyun_struct, UNUSED_mod: nmod_t);
pub fn nmod_mpolyn_is_nonzero_nmod(
A: *const nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyun_is_nonzero_nmod(
A: *const nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_scalar_mul_nmod(
A: *mut nmod_mpolyn_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_scalar_mul_nmod(
A: *mut nmod_mpolyun_struct,
c: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_mul_last(
A: *mut nmod_mpolyn_struct,
b: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_mul_last(
A: *mut nmod_mpolyun_struct,
b: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_equal(
A: *const nmod_mpolyn_struct,
B: *const nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyun_equal(
A: *const nmod_mpolyun_struct,
B: *const nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyu_cvtto_mpolyun(
A: *mut nmod_mpolyun_struct,
B: *const nmod_mpolyu_struct,
k: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyu_cvtfrom_mpolyun(
A: *mut nmod_mpolyu_struct,
B: *const nmod_mpolyun_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_mul_poly(
A: *mut nmod_mpolyun_struct,
B: *const nmod_mpolyun_struct,
c: *const n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_content_last(
a: *mut n_poly_struct,
B: *mut nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_content_last(
a: *mut n_poly_struct,
B: *mut nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_divexact_last(
A: *mut nmod_mpolyn_struct,
b: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_divexact_last(
A: *mut nmod_mpolyun_struct,
b: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_divides(
Q: *mut nmod_mpolyn_struct,
A: *const nmod_mpolyn_struct,
B: *const nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_divides_threaded_pool(
Q: *mut nmod_mpolyn_struct,
A: *const nmod_mpolyn_struct,
B: *const nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
handles: *const thread_pool_handle,
num_handles: slong,
) -> libc::c_int;
pub fn nmod_mpolyun_divides(
Q: *mut nmod_mpolyun_struct,
A: *const nmod_mpolyun_struct,
B: *const nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_to_mpolyun_perm_deflate_threaded_pool(
A: *mut nmod_mpolyun_struct,
uctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
handles: *const thread_pool_handle,
num_handles: slong,
);
pub fn nmod_mpoly_to_mpolyn_perm_deflate_threaded_pool(
A: *mut nmod_mpolyn_struct,
nctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
UNUSED_handles: *const thread_pool_handle,
UNUSED_num_handles: slong,
);
pub fn nmod_mpoly_from_mpolyun_perm_inflate(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpolyun_struct,
uctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
);
pub fn nmod_mpoly_from_mpolyn_perm_inflate(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpolyn_struct,
nctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
);
#[link_name = "nmod_mpolyun_leadcoeff__extern"]
pub fn nmod_mpolyun_leadcoeff(
A: *mut nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> ulong;
#[link_name = "nmod_mpolyun_leadcoeff_poly__extern"]
pub fn nmod_mpolyun_leadcoeff_poly(
A: *mut nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> *mut n_poly_struct;
pub fn mpoly_gcd_get_use_first(
rGdeg: slong,
Adeg: slong,
Bdeg: slong,
gammadeg: slong,
) -> libc::c_int;
pub fn nmod_mpoly_gcd_get_use_new(
rGdeg: slong,
Adeg: slong,
Bdeg: slong,
gammadeg: slong,
degxAB: slong,
degyAB: slong,
numABgamma: slong,
G: *const n_polyun_struct,
Abar: *const n_polyun_struct,
Bbar: *const n_polyun_struct,
) -> libc::c_int;
pub fn nmod_mpolyu_setform_mpolyun(
A: *mut nmod_mpolyu_struct,
B: *mut nmod_mpolyun_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_gcd_brown_smprime_bivar(
G: *mut nmod_mpolyn_struct,
Abar: *mut nmod_mpolyn_struct,
Bbar: *mut nmod_mpolyn_struct,
A: *mut nmod_mpolyn_struct,
B: *mut nmod_mpolyn_struct,
ctx: *const nmod_mpoly_ctx_struct,
Sp: *mut nmod_poly_stack_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_gcd_brown_smprime(
G: *mut nmod_mpolyn_struct,
Abar: *mut nmod_mpolyn_struct,
Bbar: *mut nmod_mpolyn_struct,
A: *mut nmod_mpolyn_struct,
B: *mut nmod_mpolyn_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
Iv: *const mpoly_gcd_info_struct,
Sp: *mut nmod_poly_stack_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_gcd_brown_smprime_threaded_pool(
G: *mut nmod_mpolyn_struct,
Abar: *mut nmod_mpolyn_struct,
Bbar: *mut nmod_mpolyn_struct,
A: *mut nmod_mpolyn_struct,
B: *mut nmod_mpolyn_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
Iv: *const mpoly_gcd_info_struct,
handles: *const thread_pool_handle,
num_workers: slong,
) -> libc::c_int;
pub fn nmod_mpolyn_gcd_brown_lgprime(
G: *mut nmod_mpolyn_struct,
Abar: *mut nmod_mpolyn_struct,
Bbar: *mut nmod_mpolyn_struct,
A: *mut nmod_mpolyn_struct,
B: *mut nmod_mpolyn_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyu_gcds_zippel(
G: *mut nmod_mpolyu_struct,
A: *mut nmod_mpolyu_struct,
B: *mut nmod_mpolyu_struct,
f: *mut nmod_mpolyu_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
randstate: *mut flint_rand_struct,
degbound: *mut slong,
) -> nmod_gcds_ret_t;
pub fn nmod_mpolyu_gcdp_zippel(
G: *mut nmod_mpolyu_struct,
Abar: *mut nmod_mpolyu_struct,
Bbar: *mut nmod_mpolyu_struct,
A: *mut nmod_mpolyu_struct,
B: *mut nmod_mpolyu_struct,
var: slong,
ctx: *const nmod_mpoly_ctx_struct,
randstate: *mut flint_rand_struct,
) -> libc::c_int;
pub fn nmod_mpoly_to_mpolyl_perm_deflate(
A: *mut nmod_mpoly_struct,
lctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
);
pub fn nmod_mpoly_from_mpolyl_perm_inflate(
A: *mut nmod_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const nmod_mpoly_ctx_struct,
B: *const nmod_mpoly_struct,
lctx: *const nmod_mpoly_ctx_struct,
perm: *const slong,
shift: *const ulong,
stride: *const ulong,
);
pub fn nmod_mpolyl_gcd_zippel_smprime(
rG: *mut nmod_mpoly_struct,
rGdegs: *const slong,
rAbar: *mut nmod_mpoly_struct,
rBbar: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
Adegs: *const slong,
B: *const nmod_mpoly_struct,
Bdegs: *const slong,
gamma: *const nmod_mpoly_struct,
gammadegs: *const slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyl_gcd_zippel_lgprime(
rG: *mut nmod_mpoly_struct,
rGdegs: *const slong,
rAbar: *mut nmod_mpoly_struct,
rBbar: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
Adegs: *const slong,
B: *const nmod_mpoly_struct,
Bdegs: *const slong,
gamma: *const nmod_mpoly_struct,
gammadegs: *const slong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyl_gcd_hensel_smprime(
G: *mut nmod_mpoly_struct,
Gdeg: slong,
Abar: *mut nmod_mpoly_struct,
Bbar: *mut nmod_mpoly_struct,
A: *const nmod_mpoly_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyl_gcd_hensel_medprime(
G: *mut nmod_mpoly_struct,
Gdeg: slong,
Abar: *mut nmod_mpoly_struct,
Bbar: *mut nmod_mpoly_struct,
smA: *const nmod_mpoly_struct,
smB: *const nmod_mpoly_struct,
smctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn _nmod_mpoly_monomial_evals_cache(
E: *mut n_poly_struct,
Aexps: *const ulong,
Abits: flint_bitcnt_t,
Alen: slong,
betas: *const ulong,
start: slong,
stop: slong,
mctx: *const mpoly_ctx_struct,
mod_: nmod_t,
);
pub fn _nmod_mpoly_monomial_evals2_cache(
E: *mut n_polyun_struct,
Aexps: *const ulong,
Abits: flint_bitcnt_t,
Alen: slong,
betas: *const ulong,
m: slong,
ctx: *const mpoly_ctx_struct,
mod_: nmod_t,
);
pub fn _nmod_poly_eval2_pow(
vp: *mut ulong,
vm: *mut ulong,
P: *mut n_poly_struct,
alphapow: *mut n_poly_struct,
fctx: nmod_t,
);
pub fn nmod_mpolyn_interp_reduce_2sm_poly(
E: *mut n_poly_struct,
F: *mut n_poly_struct,
A: *const nmod_mpolyn_struct,
alphapow: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_interp_lift_2sm_poly(
lastdeg_: *mut slong,
F: *mut nmod_mpolyn_struct,
A: *const n_poly_struct,
B: *const n_poly_struct,
alpha: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_interp_crt_2sm_poly(
lastdeg_: *mut slong,
F: *mut nmod_mpolyn_struct,
T: *mut nmod_mpolyn_struct,
A: *const n_poly_struct,
B: *const n_poly_struct,
modulus: *const n_poly_struct,
alphapow: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_interp_lift_sm_bpoly(
F: *mut nmod_mpolyn_struct,
A: *mut n_bpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_interp_crt_sm_bpoly(
lastdeg: *mut slong,
F: *mut nmod_mpolyn_struct,
T: *mut nmod_mpolyn_struct,
A: *mut n_bpoly_struct,
modulus: *mut n_poly_struct,
alphapow: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_interp_reduce_2sm_mpolyn(
E: *mut nmod_mpolyn_struct,
F: *mut nmod_mpolyn_struct,
A: *mut nmod_mpolyn_struct,
var: slong,
alphapow: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_interp_lift_2sm_mpolyn(
lastdeg: *mut slong,
T: *mut nmod_mpolyn_struct,
A: *mut nmod_mpolyn_struct,
B: *mut nmod_mpolyn_struct,
var: slong,
alpha: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_interp_crt_2sm_mpolyn(
lastdeg: *mut slong,
F: *mut nmod_mpolyn_struct,
T: *mut nmod_mpolyn_struct,
A: *mut nmod_mpolyn_struct,
B: *mut nmod_mpolyn_struct,
var: slong,
modulus: *mut n_poly_struct,
alphapow: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyun_interp_reduce_sm_mpolyu(
B: *mut nmod_mpolyu_struct,
A: *mut nmod_mpolyun_struct,
alpha: ulong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_interp_lift_sm_mpoly(
A: *mut nmod_mpolyn_struct,
B: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyun_interp_lift_sm_mpolyu(
A: *mut nmod_mpolyun_struct,
B: *const nmod_mpolyu_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpolyn_interp_crt_sm_mpoly(
lastdeg: *mut slong,
F: *mut nmod_mpolyn_struct,
T: *mut nmod_mpolyn_struct,
A: *mut nmod_mpoly_struct,
modulus: *mut n_poly_struct,
alpha: ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyun_interp_crt_sm_mpolyu(
lastdeg: *mut slong,
F: *mut nmod_mpolyun_struct,
T: *mut nmod_mpolyun_struct,
A: *mut nmod_mpolyu_struct,
modulus: *mut n_poly_struct,
alpha: ulong,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpolyn_interp_mcrt_sm_mpoly(
lastdeg_: *mut slong,
F: *mut nmod_mpolyn_struct,
A: *const nmod_mpoly_struct,
modulus: *const n_poly_struct,
alphapow: *mut n_poly_struct,
ctx: *const nmod_mpoly_ctx_struct,
) -> libc::c_int;
pub fn nmod_mpoly_geobucket_init(
B: *mut nmod_mpoly_geobucket_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_geobucket_clear(
B: *mut nmod_mpoly_geobucket_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_geobucket_empty(
p: *mut nmod_mpoly_struct,
B: *mut nmod_mpoly_geobucket_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_geobucket_fit_length(
B: *mut nmod_mpoly_geobucket_struct,
i: slong,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_geobucket_set(
B: *mut nmod_mpoly_geobucket_struct,
p: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_geobucket_add(
B: *mut nmod_mpoly_geobucket_struct,
p: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
pub fn nmod_mpoly_geobucket_sub(
B: *mut nmod_mpoly_geobucket_struct,
p: *mut nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
#[doc = "Internal consistency checks"]
pub fn nmod_mpoly_remainder_strongtest(
r: *const nmod_mpoly_struct,
g: *const nmod_mpoly_struct,
ctx: *const nmod_mpoly_ctx_struct,
);
}