use libc::*;
use crate::deps::*;
use crate::flint::*;
use crate::fq_nmod_types::*;
use crate::nmod_types::*;
extern "C" {
pub fn fq_nmod_ctx_init_ui(
ctx: *mut fq_nmod_ctx_struct,
prime: ulong,
deg: slong,
var: *const libc::c_char,
);
pub fn _fq_nmod_ctx_init_conway_ui(
ctx: *mut fq_nmod_ctx_struct,
prime: ulong,
deg: slong,
var: *const libc::c_char,
) -> libc::c_int;
pub fn fq_nmod_ctx_init_conway_ui(
ctx: *mut fq_nmod_ctx_struct,
prime: ulong,
deg: slong,
var: *const libc::c_char,
);
pub fn fq_nmod_ctx_init_minimal_weight_ui(
ctx: *mut fq_nmod_ctx_struct,
prime: ulong,
deg: slong,
var: *const libc::c_char,
);
pub fn fq_nmod_ctx_init_modulus(
ctx: *mut fq_nmod_ctx_struct,
modulus: *const nmod_poly_struct,
var: *const libc::c_char,
);
pub fn fq_nmod_ctx_init_randtest(
ctx: *mut fq_nmod_ctx_struct,
state: *mut flint_rand_struct,
type_: libc::c_int,
);
pub fn fq_nmod_ctx_init_randtest_reducible(
ctx: *mut fq_nmod_ctx_struct,
state: *mut flint_rand_struct,
type_: libc::c_int,
);
pub fn fq_nmod_ctx_clear(ctx: *mut fq_nmod_ctx_struct);
#[link_name = "fq_nmod_ctx_modulus__extern"]
pub fn fq_nmod_ctx_modulus(ctx: *const fq_nmod_ctx_struct) -> *const nmod_poly_struct;
#[link_name = "fq_nmod_ctx_degree__extern"]
pub fn fq_nmod_ctx_degree(ctx: *const fq_nmod_ctx_struct) -> slong;
#[link_name = "fq_nmod_ctx_prime__extern"]
pub fn fq_nmod_ctx_prime(ctx: *const fq_nmod_ctx_struct) -> ulong;
pub fn fq_nmod_ctx_order(f: *mut fmpz, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_ctx_fprint(file: *mut FILE, ctx: *const fq_nmod_ctx_struct) -> libc::c_int;
pub fn fq_nmod_ctx_print(ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_init(rop: *mut nmod_poly_struct, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_init2(rop: *mut nmod_poly_struct, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_clear(rop: *mut nmod_poly_struct, UNUSED_ctx: *const fq_nmod_ctx_struct);
pub fn _fq_nmod_sparse_reduce(R: *mut ulong, lenR: slong, ctx: *const fq_nmod_ctx_struct);
pub fn _fq_nmod_dense_reduce(R: *mut ulong, lenR: slong, ctx: *const fq_nmod_ctx_struct);
pub fn _fq_nmod_reduce(R: *mut ulong, lenR: slong, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_reduce(rop: *mut nmod_poly_struct, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_add(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
op2: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_sub(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
op2: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_sub_one(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_neg(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_mul(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
op2: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_mul_fmpz(
rop: *mut nmod_poly_struct,
op: *const nmod_poly_struct,
x: *const fmpz,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_mul_si(
rop: *mut nmod_poly_struct,
op: *const nmod_poly_struct,
x: slong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_mul_ui(
rop: *mut nmod_poly_struct,
op: *const nmod_poly_struct,
x: ulong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_sqr(
rop: *mut nmod_poly_struct,
op: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_inv(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn _fq_nmod_pow(
rop: *mut ulong,
op: *const ulong,
len: slong,
e: *const fmpz,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_pow(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
e: *const fmpz,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_pow_ui(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
e: ulong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_sqrt(
rop: *mut nmod_poly_struct,
op: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_pth_root(
rop: *mut nmod_poly_struct,
op1: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_is_square(
op: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_randtest(
rop: *mut nmod_poly_struct,
state: *mut flint_rand_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_randtest_dense(
rop: *mut nmod_poly_struct,
state: *mut flint_rand_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_randtest_not_zero(
rop: *mut nmod_poly_struct,
state: *mut flint_rand_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_rand(
rop: *mut nmod_poly_struct,
state: *mut flint_rand_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_rand_not_zero(
rop: *mut nmod_poly_struct,
state: *mut flint_rand_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_equal(
op1: *const nmod_poly_struct,
op2: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_is_zero(
op: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_is_one(
op: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_cmp(
a: *const nmod_poly_struct,
b: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_set(
rop: *mut nmod_poly_struct,
op: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_set_si(rop: *mut nmod_poly_struct, x: slong, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_set_ui(rop: *mut nmod_poly_struct, x: ulong, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_set_fmpz(
rop: *mut nmod_poly_struct,
x: *const fmpz,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_set_nmod_poly(
a: *mut nmod_poly_struct,
b: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_get_fmpz(
a: *mut fmpz,
b: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_get_nmod_poly(
a: *mut nmod_poly_struct,
b: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_swap(
op1: *mut nmod_poly_struct,
op2: *mut nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_zero(rop: *mut nmod_poly_struct, UNUSED_ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_one(rop: *mut nmod_poly_struct, UNUSED_ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_gen(rop: *mut nmod_poly_struct, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_fprint(
file: *mut FILE,
op: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_fprint_pretty(
file: *mut FILE,
op: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
) -> libc::c_int;
pub fn fq_nmod_print(op: *const nmod_poly_struct, UNUSED_ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_print_pretty(op: *const nmod_poly_struct, ctx: *const fq_nmod_ctx_struct);
pub fn fq_nmod_get_str(
op: *const nmod_poly_struct,
UNUSED_ctx: *const fq_nmod_ctx_struct,
) -> *mut libc::c_char;
pub fn fq_nmod_get_str_pretty(
op: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
) -> *mut libc::c_char;
pub fn _fq_nmod_trace(
rop: *mut fmpz,
op: *const ulong,
len: slong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_trace(
rop: *mut fmpz,
op: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn _fq_nmod_frobenius(
rop: *mut ulong,
op: *const ulong,
len: slong,
e: slong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_frobenius(
rop: *mut nmod_poly_struct,
op: *const nmod_poly_struct,
e: slong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn _fq_nmod_norm(
rop: *mut fmpz,
op: *const ulong,
len: slong,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_norm(
rop: *mut fmpz,
op: *const nmod_poly_struct,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_bit_pack(
f: *mut fmpz,
op: *const nmod_poly_struct,
bit_size: flint_bitcnt_t,
UNUSED_ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_bit_unpack(
rop: *mut nmod_poly_struct,
f: *const fmpz,
bit_size: flint_bitcnt_t,
ctx: *const fq_nmod_ctx_struct,
);
pub fn fq_nmod_ctx_init(
ctx: *mut fq_nmod_ctx_struct,
p: *mut fmpz,
d: slong,
var: *const libc::c_char,
);
pub fn _fq_nmod_ctx_init_conway(
ctx: *mut fq_nmod_ctx_struct,
p: *mut fmpz,
d: slong,
var: *const libc::c_char,
) -> libc::c_int;
pub fn fq_nmod_ctx_init_conway(
ctx: *mut fq_nmod_ctx_struct,
p: *mut fmpz,
d: slong,
var: *const libc::c_char,
);
}