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_types::*;


extern "C" {
    pub fn fmpz_poly_q_canonicalise(rop: *mut fmpz_poly_q_struct);
    pub fn fmpz_poly_q_is_canonical(op: *const fmpz_poly_q_struct) -> libc::c_int;
    pub fn fmpz_poly_q_init(rop: *mut fmpz_poly_q_struct);
    pub fn fmpz_poly_q_clear(rop: *mut fmpz_poly_q_struct);
    pub fn fmpz_poly_q_randtest(
        poly: *mut fmpz_poly_q_struct,
        state: *mut flint_rand_struct,
        len1: slong,
        bits1: flint_bitcnt_t,
        len2: slong,
        bits2: flint_bitcnt_t,
    );
    pub fn fmpz_poly_q_randtest_not_zero(
        poly: *mut fmpz_poly_q_struct,
        state: *mut flint_rand_struct,
        len1: slong,
        bits1: flint_bitcnt_t,
        len2: slong,
        bits2: flint_bitcnt_t,
    );
    pub fn fmpz_poly_q_set(rop: *mut fmpz_poly_q_struct, op: *const fmpz_poly_q_struct);
    pub fn fmpz_poly_q_set_si(rop: *mut fmpz_poly_q_struct, op: slong);
    pub fn fmpz_poly_q_swap(op1: *mut fmpz_poly_q_struct, op2: *mut fmpz_poly_q_struct);
    #[link_name = "fmpz_poly_q_zero__extern"]
    pub fn fmpz_poly_q_zero(rop: *mut fmpz_poly_q_struct);
    #[link_name = "fmpz_poly_q_one__extern"]
    pub fn fmpz_poly_q_one(rop: *mut fmpz_poly_q_struct);
    #[link_name = "fmpz_poly_q_neg__extern"]
    pub fn fmpz_poly_q_neg(rop: *mut fmpz_poly_q_struct, op: *const fmpz_poly_q_struct);
    pub fn fmpz_poly_q_inv(rop: *mut fmpz_poly_q_struct, op: *const fmpz_poly_q_struct);
    #[link_name = "fmpz_poly_q_is_zero__extern"]
    pub fn fmpz_poly_q_is_zero(op: *const fmpz_poly_q_struct) -> libc::c_int;
    #[link_name = "fmpz_poly_q_is_one__extern"]
    pub fn fmpz_poly_q_is_one(op: *const fmpz_poly_q_struct) -> libc::c_int;
    #[link_name = "fmpz_poly_q_equal__extern"]
    pub fn fmpz_poly_q_equal(
        op1: *const fmpz_poly_q_struct,
        op2: *const fmpz_poly_q_struct,
    ) -> libc::c_int;
    pub fn fmpz_poly_q_add_in_place(rop: *mut fmpz_poly_q_struct, op: *const fmpz_poly_q_struct);
    pub fn fmpz_poly_q_sub_in_place(rop: *mut fmpz_poly_q_struct, op: *const fmpz_poly_q_struct);
    pub fn fmpz_poly_q_add(
        rop: *mut fmpz_poly_q_struct,
        op1: *const fmpz_poly_q_struct,
        op2: *const fmpz_poly_q_struct,
    );
    pub fn fmpz_poly_q_sub(
        rop: *mut fmpz_poly_q_struct,
        op1: *const fmpz_poly_q_struct,
        op2: *const fmpz_poly_q_struct,
    );
    pub fn fmpz_poly_q_addmul(
        rop: *mut fmpz_poly_q_struct,
        op1: *const fmpz_poly_q_struct,
        op2: *const fmpz_poly_q_struct,
    );
    pub fn fmpz_poly_q_submul(
        rop: *mut fmpz_poly_q_struct,
        op1: *const fmpz_poly_q_struct,
        op2: *const fmpz_poly_q_struct,
    );
    pub fn fmpz_poly_q_scalar_mul_si(
        rop: *mut fmpz_poly_q_struct,
        op: *const fmpz_poly_q_struct,
        x: slong,
    );
    pub fn fmpz_poly_q_scalar_mul_fmpz(
        rop: *mut fmpz_poly_q_struct,
        op: *const fmpz_poly_q_struct,
        x: *const fmpz,
    );
    pub fn fmpz_poly_q_scalar_mul_fmpq(
        rop: *mut fmpz_poly_q_struct,
        op: *const fmpz_poly_q_struct,
        x: *const fmpq,
    );
    pub fn fmpz_poly_q_scalar_div_si(
        rop: *mut fmpz_poly_q_struct,
        op: *const fmpz_poly_q_struct,
        x: slong,
    );
    pub fn fmpz_poly_q_scalar_div_fmpz(
        rop: *mut fmpz_poly_q_struct,
        op: *const fmpz_poly_q_struct,
        x: *const fmpz,
    );
    pub fn fmpz_poly_q_scalar_div_fmpq(
        rop: *mut fmpz_poly_q_struct,
        op: *const fmpz_poly_q_struct,
        x: *const fmpq,
    );
    pub fn fmpz_poly_q_mul(
        rop: *mut fmpz_poly_q_struct,
        op1: *const fmpz_poly_q_struct,
        op2: *const fmpz_poly_q_struct,
    );
    pub fn fmpz_poly_q_div(
        rop: *mut fmpz_poly_q_struct,
        op1: *const fmpz_poly_q_struct,
        op2: *const fmpz_poly_q_struct,
    );
    pub fn fmpz_poly_q_pow(rop: *mut fmpz_poly_q_struct, op: *const fmpz_poly_q_struct, exp: ulong);
    pub fn fmpz_poly_q_derivative(rop: *mut fmpz_poly_q_struct, op: *const fmpz_poly_q_struct);
    pub fn fmpz_poly_q_evaluate_fmpq(
        rop: *mut fmpq,
        f: *const fmpz_poly_q_struct,
        a: *const fmpq,
    ) -> libc::c_int;
    pub fn fmpz_poly_q_set_str(rop: *mut fmpz_poly_q_struct, s: *const libc::c_char)
        -> libc::c_int;
    pub fn fmpz_poly_q_get_str(op: *const fmpz_poly_q_struct) -> *mut libc::c_char;
    pub fn fmpz_poly_q_get_str_pretty(
        op: *const fmpz_poly_q_struct,
        x: *const libc::c_char,
    ) -> *mut libc::c_char;
    pub fn fmpz_poly_q_print(op: *const fmpz_poly_q_struct) -> libc::c_int;
    pub fn fmpz_poly_q_print_pretty(
        op: *const fmpz_poly_q_struct,
        x: *const libc::c_char,
    ) -> libc::c_int;
}