use libc::*;
use crate::deps::*;
use crate::flint::*;
use crate::fmpq_types::*;
use crate::fmpz_types::*;
use crate::mpoly_types::*;
#[repr(C)]
pub struct fmpq_mpoly_univar_struct {
pub coeffs: *mut fmpq_mpoly_struct,
pub exps: *mut fmpz,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of fmpq_mpoly_univar_struct"]
[::std::mem::size_of::<fmpq_mpoly_univar_struct>() - 32usize];
["Alignment of fmpq_mpoly_univar_struct"]
[::std::mem::align_of::<fmpq_mpoly_univar_struct>() - 8usize];
["Offset of field: fmpq_mpoly_univar_struct::coeffs"]
[::std::mem::offset_of!(fmpq_mpoly_univar_struct, coeffs) - 0usize];
["Offset of field: fmpq_mpoly_univar_struct::exps"]
[::std::mem::offset_of!(fmpq_mpoly_univar_struct, exps) - 8usize];
["Offset of field: fmpq_mpoly_univar_struct::alloc"]
[::std::mem::offset_of!(fmpq_mpoly_univar_struct, alloc) - 16usize];
["Offset of field: fmpq_mpoly_univar_struct::length"]
[::std::mem::offset_of!(fmpq_mpoly_univar_struct, length) - 24usize];
};
impl Default for fmpq_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 fmpq_mpoly_univar_t = [fmpq_mpoly_univar_struct; 1usize];
extern "C" {
#[link_name = "fmpq_mpoly_ctx_init__extern"]
pub fn fmpq_mpoly_ctx_init(ctx: *mut fmpq_mpoly_ctx_struct, nvars: slong, ord: ordering_t);
#[link_name = "fmpq_mpoly_ctx_init_rand__extern"]
pub fn fmpq_mpoly_ctx_init_rand(
ctx: *mut fmpq_mpoly_ctx_struct,
state: *mut flint_rand_struct,
max_nvars: slong,
);
#[link_name = "fmpq_mpoly_ctx_clear__extern"]
pub fn fmpq_mpoly_ctx_clear(ctx: *mut fmpq_mpoly_ctx_struct);
#[link_name = "fmpq_mpoly_ctx_nvars__extern"]
pub fn fmpq_mpoly_ctx_nvars(ctx: *const fmpq_mpoly_ctx_struct) -> slong;
#[link_name = "fmpq_mpoly_ctx_ord__extern"]
pub fn fmpq_mpoly_ctx_ord(ctx: *const fmpq_mpoly_ctx_struct) -> ordering_t;
#[link_name = "fmpq_mpoly_content_ref__extern"]
pub fn fmpq_mpoly_content_ref(
A: *mut fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> *mut fmpq;
#[link_name = "fmpq_mpoly_zpoly_ref__extern"]
pub fn fmpq_mpoly_zpoly_ref(
A: *mut fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> *mut fmpz_mpoly_struct;
#[link_name = "fmpq_mpoly_zpoly_term_coeff_ref__extern"]
pub fn fmpq_mpoly_zpoly_term_coeff_ref(
A: *mut fmpq_mpoly_struct,
i: slong,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> *mut fmpz;
#[link_name = "fmpq_mpoly_init__extern"]
pub fn fmpq_mpoly_init(A: *mut fmpq_mpoly_struct, ctx: *const fmpq_mpoly_ctx_struct);
#[link_name = "fmpq_mpoly_init2__extern"]
pub fn fmpq_mpoly_init2(
A: *mut fmpq_mpoly_struct,
alloc: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_init3__extern"]
pub fn fmpq_mpoly_init3(
A: *mut fmpq_mpoly_struct,
alloc: slong,
bits: flint_bitcnt_t,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_realloc__extern"]
pub fn fmpq_mpoly_realloc(
A: *mut fmpq_mpoly_struct,
alloc: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_fit_length__extern"]
pub fn fmpq_mpoly_fit_length(
A: *mut fmpq_mpoly_struct,
len: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_clear__extern"]
pub fn fmpq_mpoly_clear(A: *mut fmpq_mpoly_struct, ctx: *const fmpq_mpoly_ctx_struct);
#[link_name = "fmpq_mpoly_fit_bits__extern"]
pub fn fmpq_mpoly_fit_bits(
A: *mut fmpq_mpoly_struct,
bits: flint_bitcnt_t,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_str_pretty(
A: *mut fmpq_mpoly_struct,
str_: *const libc::c_char,
x: *mut *const libc::c_char,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_get_str_pretty(
A: *const fmpq_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const fmpq_mpoly_ctx_struct,
) -> *mut libc::c_char;
pub fn fmpq_mpoly_fprint_pretty(
file: *mut FILE,
A: *const fmpq_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_print_pretty(
A: *const fmpq_mpoly_struct,
x: *mut *const libc::c_char,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_gen__extern"]
pub fn fmpq_mpoly_gen(A: *mut fmpq_mpoly_struct, var: slong, ctx: *const fmpq_mpoly_ctx_struct);
#[link_name = "fmpq_mpoly_is_gen__extern"]
pub fn fmpq_mpoly_is_gen(
A: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_set__extern"]
pub fn fmpq_mpoly_set(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_equal__extern"]
pub fn fmpq_mpoly_equal(
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_swap__extern"]
pub fn fmpq_mpoly_swap(
A: *mut fmpq_mpoly_struct,
B: *mut fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_is_fmpq__extern"]
pub fn fmpq_mpoly_is_fmpq(
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_get_fmpq(
c: *mut fmpq,
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_fmpq(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_fmpz(
A: *mut fmpq_mpoly_struct,
c: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_ui(
A: *mut fmpq_mpoly_struct,
c: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_si(
A: *mut fmpq_mpoly_struct,
c: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_zero__extern"]
pub fn fmpq_mpoly_zero(A: *mut fmpq_mpoly_struct, ctx: *const fmpq_mpoly_ctx_struct);
#[link_name = "fmpq_mpoly_one__extern"]
pub fn fmpq_mpoly_one(A: *mut fmpq_mpoly_struct, ctx: *const fmpq_mpoly_ctx_struct);
pub fn fmpq_mpoly_equal_fmpq(
A: *const fmpq_mpoly_struct,
c: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_equal_fmpz(
A: *const fmpq_mpoly_struct,
c: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_equal_ui(
A: *const fmpq_mpoly_struct,
c: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_equal_si(
A: *const fmpq_mpoly_struct,
c: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_is_zero__extern"]
pub fn fmpq_mpoly_is_zero(
A: *const fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_is_one__extern"]
pub fn fmpq_mpoly_is_one(
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_degrees_fit_si(
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_degrees_fmpz(
degs: *mut *mut fmpz,
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_degrees_si(
degs: *mut slong,
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_degree_fmpz(
deg: *mut fmpz,
A: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_degree_si(
A: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> slong;
pub fn fmpq_mpoly_total_degree_fits_si(
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_total_degree_fmpz(
tdeg: *mut fmpz,
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_total_degree_si(
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> slong;
#[link_name = "fmpq_mpoly_used_vars__extern"]
pub fn fmpq_mpoly_used_vars(
used: *mut libc::c_int,
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_get_denominator__extern"]
pub fn fmpq_mpoly_get_denominator(
d: *mut fmpz,
A: *const fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_is_monic(
A: *const fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_get_coeff_fmpq_monomial(
c: *mut fmpq,
A: *const fmpq_mpoly_struct,
M: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_coeff_fmpq_monomial(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
M: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn _fmpq_mpoly_set_coeff_fmpq_fmpz(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
exp: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_coeff_fmpq_fmpz(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
exp: *const *mut fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_coeff_fmpq_ui(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
exp: *const ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn _fmpq_mpoly_get_coeff_fmpq_fmpz(
c: *mut fmpq,
A: *const fmpq_mpoly_struct,
exp: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_coeff_fmpq_fmpz(
c: *mut fmpq,
A: *const fmpq_mpoly_struct,
exp: *const *mut fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_coeff_fmpq_ui(
c: *mut fmpq,
A: *const fmpq_mpoly_struct,
exp: *const ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_coeff_vars_ui(
C: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
vars: *const slong,
exps: *const ulong,
length: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_is_fmpq_poly(
A: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_get_fmpq_poly(
A: *mut fmpq_poly_struct,
B: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_set_fmpq_poly(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_poly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_cmp(
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_is_canonical(
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_length__extern"]
pub fn fmpq_mpoly_length(
A: *const fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> slong;
#[link_name = "fmpq_mpoly_resize__extern"]
pub fn fmpq_mpoly_resize(
A: *mut fmpq_mpoly_struct,
new_length: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_term_coeff_fmpq(
c: *mut fmpq,
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_set_term_coeff_fmpq(
A: *mut fmpq_mpoly_struct,
i: slong,
c: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_term_exp_fits_ui(
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_term_exp_fits_si(
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_get_term_exp_fmpz(
exps: *mut *mut fmpz,
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_term_exp_ui(
exps: *mut ulong,
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_term_exp_si(
exps: *mut slong,
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_term_var_exp_ui(
A: *const fmpq_mpoly_struct,
i: slong,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> ulong;
pub fn fmpq_mpoly_get_term_var_exp_si(
A: *const fmpq_mpoly_struct,
i: slong,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> slong;
#[link_name = "fmpq_mpoly_set_term_exp_fmpz__extern"]
pub fn fmpq_mpoly_set_term_exp_fmpz(
A: *mut fmpq_mpoly_struct,
i: slong,
exps: *const *mut fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_set_term_exp_ui__extern"]
pub fn fmpq_mpoly_set_term_exp_ui(
A: *mut fmpq_mpoly_struct,
i: slong,
exps: *const ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_term(
M: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_get_term_monomial(
M: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_fmpq_fmpz(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
exp: *const *mut fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_fmpq_ffmpz(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
exp: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_fmpz_fmpz(
A: *mut fmpq_mpoly_struct,
c: *const fmpz,
exp: *const *mut fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_fmpz_ffmpz(
A: *mut fmpq_mpoly_struct,
c: *const fmpz,
exp: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_ui_fmpz(
A: *mut fmpq_mpoly_struct,
c: ulong,
exp: *const *mut fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_ui_ffmpz(
A: *mut fmpq_mpoly_struct,
c: ulong,
exp: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_si_fmpz(
A: *mut fmpq_mpoly_struct,
c: slong,
exp: *const *mut fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_si_ffmpz(
A: *mut fmpq_mpoly_struct,
c: slong,
exp: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_fmpq_ui(
A: *mut fmpq_mpoly_struct,
c: *const fmpq,
exp: *const ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_fmpz_ui(
A: *mut fmpq_mpoly_struct,
c: *const fmpz,
exp: *const ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_ui_ui(
A: *mut fmpq_mpoly_struct,
c: ulong,
exp: *const ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_push_term_si_ui(
A: *mut fmpq_mpoly_struct,
c: slong,
exp: *const ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_reduce(A: *mut fmpq_mpoly_struct, ctx: *const fmpq_mpoly_ctx_struct);
pub fn fmpq_mpoly_reduce_easy(
A: *mut fmpq_mpoly_struct,
easy_length: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_sort_terms__extern"]
pub fn fmpq_mpoly_sort_terms(A: *mut fmpq_mpoly_struct, ctx: *const fmpq_mpoly_ctx_struct);
#[link_name = "fmpq_mpoly_combine_like_terms__extern"]
pub fn fmpq_mpoly_combine_like_terms(
A: *mut fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_reverse(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_assert_canonical(
poly: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn _fmpq_mpoly_push_rescale(
A: *mut fmpq_mpoly_struct,
C: *mut fmpq,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_randtest_bounds__extern"]
pub fn fmpq_mpoly_randtest_bounds(
A: *mut fmpq_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
coeff_bits: flint_bitcnt_t,
exp_bounds: *mut ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_randtest_bound__extern"]
pub fn fmpq_mpoly_randtest_bound(
A: *mut fmpq_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
coeff_bits: flint_bitcnt_t,
exp_bound: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_randtest_bits__extern"]
pub fn fmpq_mpoly_randtest_bits(
A: *mut fmpq_mpoly_struct,
state: *mut flint_rand_struct,
length: slong,
coeff_bits: flint_bitcnt_t,
exp_bits: flint_bitcnt_t,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_add_fmpq(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_add_fmpz(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_add_ui(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_add_si(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_sub_fmpq(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_sub_fmpz(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_sub_ui(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_sub_si(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_add(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
C: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_sub(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
C: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_neg__extern"]
pub fn fmpq_mpoly_neg(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_mul_fmpq(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_mul_fmpz(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_mul_ui(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_mul_si(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_div_fmpq(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_div_fmpz(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_div_ui(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_scalar_div_si(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_make_monic(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn _fmpq_mpoly_make_monic_inplace(
A: *mut fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_derivative(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_integral(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn _fmpq_mpoly_rescale(
Acontent: *mut fmpq,
Acoeff: *mut fmpz,
B: *const fmpq_mpoly_struct,
scales: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_evaluate_all_fmpq(
ev: *mut fmpq,
A: *const fmpq_mpoly_struct,
vals: *const *mut fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_evaluate_one_fmpq(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
var: slong,
val: *const fmpq,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_compose_fmpq_poly(
A: *mut fmpq_poly_struct,
B: *const fmpq_mpoly_struct,
C: *const *mut fmpq_poly_struct,
ctxB: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_compose_fmpq_mpoly(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
C: *const *mut fmpq_mpoly_struct,
ctxB: *const fmpq_mpoly_ctx_struct,
ctxAC: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_compose_fmpq_mpoly_gen(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
c: *const slong,
ctxB: *const fmpq_mpoly_ctx_struct,
ctxAC: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_mul(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
C: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_pow_fmpz(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
k: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_pow_ui(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
k: ulong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_divides(
poly1: *mut fmpq_mpoly_struct,
poly2: *const fmpq_mpoly_struct,
poly3: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_div(
q: *mut fmpq_mpoly_struct,
poly2: *const fmpq_mpoly_struct,
poly3: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_divrem(
q: *mut fmpq_mpoly_struct,
r: *mut fmpq_mpoly_struct,
poly2: *const fmpq_mpoly_struct,
poly3: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_divrem_ideal(
q: *mut *mut fmpq_mpoly_struct,
r: *mut fmpq_mpoly_struct,
poly2: *const fmpq_mpoly_struct,
poly3: *const *mut fmpq_mpoly_struct,
len: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_sqrt(
Q: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_is_square__extern"]
pub fn fmpq_mpoly_is_square(
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_content__extern"]
pub fn fmpq_mpoly_content(
g: *mut fmpq,
A: *const fmpq_mpoly_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_term_content(
M: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_content_vars(
g: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
vars: *mut slong,
vars_length: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_gcd(
G: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_inflate(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
shift: *const fmpz,
stride: *const fmpz,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_gcd_cofactors(
G: *mut fmpq_mpoly_struct,
Abar: *mut fmpq_mpoly_struct,
Bbar: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_gcd_hensel(
G: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_gcd_brown(
G: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_gcd_subresultant(
G: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_gcd_zippel(
G: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_gcd_zippel2(
G: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_resultant(
R: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_discriminant(
R: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[doc = "Internal functions (guaranteed to change without notice)"]
pub fn mpoly_void_ring_init_fmpq_mpoly_ctx(
R: *mut _bindgen_ty_2,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_repack_bits(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_struct,
Abits: flint_bitcnt_t,
ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
pub fn fmpq_mpoly_univar_init(
A: *mut fmpq_mpoly_univar_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_univar_clear(
A: *mut fmpq_mpoly_univar_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_univar_fit_length(
A: *mut fmpq_mpoly_univar_struct,
length: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_univar_print_pretty(
A: *const fmpq_mpoly_univar_struct,
x: *mut *const libc::c_char,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_univar_assert_canonical(
A: *mut fmpq_mpoly_univar_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_to_univar(
A: *mut fmpq_mpoly_univar_struct,
B: *const fmpq_mpoly_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_from_univar_bits(
A: *mut fmpq_mpoly_struct,
Abits: flint_bitcnt_t,
B: *const fmpq_mpoly_univar_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
pub fn fmpq_mpoly_from_univar(
A: *mut fmpq_mpoly_struct,
B: *const fmpq_mpoly_univar_struct,
var: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_univar_swap__extern"]
pub fn fmpq_mpoly_univar_swap(
A: *mut fmpq_mpoly_univar_struct,
B: *mut fmpq_mpoly_univar_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_univar_degree_fits_si__extern"]
pub fn fmpq_mpoly_univar_degree_fits_si(
A: *const fmpq_mpoly_univar_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> libc::c_int;
#[link_name = "fmpq_mpoly_univar_length__extern"]
pub fn fmpq_mpoly_univar_length(
A: *const fmpq_mpoly_univar_struct,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> slong;
#[link_name = "fmpq_mpoly_univar_get_term_exp_si__extern"]
pub fn fmpq_mpoly_univar_get_term_exp_si(
A: *mut fmpq_mpoly_univar_struct,
i: slong,
UNUSED_ctx: *const fmpq_mpoly_ctx_struct,
) -> slong;
#[link_name = "fmpq_mpoly_univar_get_term_coeff__extern"]
pub fn fmpq_mpoly_univar_get_term_coeff(
c: *mut fmpq_mpoly_struct,
A: *const fmpq_mpoly_univar_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[link_name = "fmpq_mpoly_univar_swap_term_coeff__extern"]
pub fn fmpq_mpoly_univar_swap_term_coeff(
c: *mut fmpq_mpoly_struct,
A: *mut fmpq_mpoly_univar_struct,
i: slong,
ctx: *const fmpq_mpoly_ctx_struct,
);
#[doc = "Internal consistency checks"]
pub fn fmpq_mpoly_remainder_test(
r: *const fmpq_mpoly_struct,
g: *const fmpq_mpoly_struct,
ctx: *const fmpq_mpoly_ctx_struct,
);
}