flint-sys 0.9.0

Bindings to the FLINT C library
Documentation
/* automatically generated by rust-bindgen 0.70.1 */

use crate::deps::*;
use crate::flint::*;
use crate::fmpz_mod_types::*;
use crate::mpoly_types::*;


extern "C" {
    pub fn fmpz_mod_mpoly_q_init(
        res: *mut fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_clear(
        res: *mut fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_swap(
        x: *mut fmpz_mod_mpoly_q_struct,
        y: *mut fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_set(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_set_fmpq(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpq,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    pub fn fmpz_mod_mpoly_q_set_fmpz(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_set_si(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: slong,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_canonicalise(
        x: *mut fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_is_canonical(
        res: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    #[link_name = "fmpz_mod_mpoly_q_is_zero__extern"]
    pub fn fmpz_mod_mpoly_q_is_zero(
        x: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    #[link_name = "fmpz_mod_mpoly_q_is_one__extern"]
    pub fn fmpz_mod_mpoly_q_is_one(
        x: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    #[link_name = "fmpz_mod_mpoly_q_is_fmpz_mod__extern"]
    pub fn fmpz_mod_mpoly_q_is_fmpz_mod(
        x: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    #[link_name = "fmpz_mod_mpoly_q_zero__extern"]
    pub fn fmpz_mod_mpoly_q_zero(
        res: *mut fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    #[link_name = "fmpz_mod_mpoly_q_one__extern"]
    pub fn fmpz_mod_mpoly_q_one(
        res: *mut fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    #[link_name = "fmpz_mod_mpoly_q_gen__extern"]
    pub fn fmpz_mod_mpoly_q_gen(
        res: *mut fmpz_mod_mpoly_q_struct,
        i: slong,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_print_pretty(
        f: *const fmpz_mod_mpoly_q_struct,
        x: *mut *const libc::c_char,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_get_str_pretty(
        f: *const fmpz_mod_mpoly_q_struct,
        vars: *mut *const libc::c_char,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> *mut libc::c_char;
    pub fn fmpz_mod_mpoly_q_set_str_pretty(
        res: *mut fmpz_mod_mpoly_q_struct,
        s: *const libc::c_char,
        vars: *mut *const libc::c_char,
        ctx: *mut fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    pub fn fmpz_mod_mpoly_q_randtest(
        res: *mut fmpz_mod_mpoly_q_struct,
        state: *mut flint_rand_struct,
        length: slong,
        exp_bound: slong,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_equal(
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    pub fn fmpz_mod_mpoly_q_neg(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_add(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_sub(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_mul(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_div(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_inv(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn _fmpz_mod_mpoly_q_add(
        res_num: *mut fmpz_mod_mpoly_struct,
        res_den: *mut fmpz_mod_mpoly_struct,
        x_num: *const fmpz_mod_mpoly_struct,
        x_den: *const fmpz_mod_mpoly_struct,
        y_num: *const fmpz_mod_mpoly_struct,
        y_den: *const fmpz_mod_mpoly_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn _fmpz_mod_mpoly_q_add_fmpz_mod(
        res_num: *mut fmpz_mod_mpoly_struct,
        res_den: *mut fmpz_mod_mpoly_struct,
        x_num: *const fmpz_mod_mpoly_struct,
        x_den: *const fmpz_mod_mpoly_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn _fmpz_mod_mpoly_q_sub(
        res_num: *mut fmpz_mod_mpoly_struct,
        res_den: *mut fmpz_mod_mpoly_struct,
        x_num: *const fmpz_mod_mpoly_struct,
        x_den: *const fmpz_mod_mpoly_struct,
        y_num: *const fmpz_mod_mpoly_struct,
        y_den: *const fmpz_mod_mpoly_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn _fmpz_mod_mpoly_q_mul(
        res_num: *mut fmpz_mod_mpoly_struct,
        res_den: *mut fmpz_mod_mpoly_struct,
        x_num: *const fmpz_mod_mpoly_struct,
        x_den: *const fmpz_mod_mpoly_struct,
        y_num: *const fmpz_mod_mpoly_struct,
        y_den: *const fmpz_mod_mpoly_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn _fmpz_mod_mpoly_q_div(
        res_num: *mut fmpz_mod_mpoly_struct,
        res_den: *mut fmpz_mod_mpoly_struct,
        x_num: *const fmpz_mod_mpoly_struct,
        x_den: *const fmpz_mod_mpoly_struct,
        y_num: *const fmpz_mod_mpoly_struct,
        y_den: *const fmpz_mod_mpoly_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_add_fmpz_mod(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_add_fmpz(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_add_fmpq(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpq,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    pub fn fmpz_mod_mpoly_q_sub_fmpz_mod(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_sub_fmpz(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_sub_fmpq(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpq,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    pub fn fmpz_mod_mpoly_q_mul_fmpz_mod(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_mul_fmpz(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    pub fn fmpz_mod_mpoly_q_mul_fmpq(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpq,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    pub fn fmpz_mod_mpoly_q_div_fmpz(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpz,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    pub fn fmpz_mod_mpoly_q_div_fmpq(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        y: *const fmpq,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    #[link_name = "fmpz_mod_mpoly_q_add_si__extern"]
    pub fn fmpz_mod_mpoly_q_add_si(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        c: slong,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    #[link_name = "fmpz_mod_mpoly_q_sub_si__extern"]
    pub fn fmpz_mod_mpoly_q_sub_si(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        c: slong,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    #[link_name = "fmpz_mod_mpoly_q_mul_si__extern"]
    pub fn fmpz_mod_mpoly_q_mul_si(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        c: slong,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    #[link_name = "fmpz_mod_mpoly_q_div_si__extern"]
    pub fn fmpz_mod_mpoly_q_div_si(
        res: *mut fmpz_mod_mpoly_q_struct,
        x: *const fmpz_mod_mpoly_q_struct,
        c: slong,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    ) -> libc::c_int;
    #[link_name = "fmpz_mod_mpoly_gcd_assert_successful__extern"]
    pub fn fmpz_mod_mpoly_gcd_assert_successful(
        res: *mut fmpz_mod_mpoly_struct,
        x: *const fmpz_mod_mpoly_struct,
        y: *const fmpz_mod_mpoly_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
    #[link_name = "_fmpz_mod_mpoly_q_mpoly_divexact__extern"]
    pub fn _fmpz_mod_mpoly_q_mpoly_divexact(
        res: *mut fmpz_mod_mpoly_struct,
        x: *const fmpz_mod_mpoly_struct,
        y: *const fmpz_mod_mpoly_struct,
        ctx: *const fmpz_mod_mpoly_ctx_struct,
    );
}