flint-sys 0.9.0

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

use libc::*;
use crate::deps::*;
use crate::flint::*;
use crate::fmpq_types::*;
use crate::fmpz_types::*;
use crate::padic_types::*;


extern "C" {
    #[link_name = "_fmpz_vec_ord_p__extern"]
    pub fn _fmpz_vec_ord_p(vec: *const fmpz, len: slong, p: *const fmpz) -> slong;
    pub fn padic_poly_init(poly: *mut padic_poly_struct);
    pub fn padic_poly_init2(poly: *mut padic_poly_struct, alloc: slong, prec: slong);
    pub fn padic_poly_clear(poly: *mut padic_poly_struct);
    pub fn padic_poly_realloc(poly: *mut padic_poly_struct, alloc: slong, p: *const fmpz);
    pub fn padic_poly_fit_length(poly: *mut padic_poly_struct, len: slong);
    #[link_name = "_padic_poly_set_length__extern"]
    pub fn _padic_poly_set_length(poly: *mut padic_poly_struct, len: slong);
    pub fn _padic_poly_normalise(poly: *mut padic_poly_struct);
    pub fn _padic_poly_canonicalise(poly: *mut fmpz, v: *mut slong, len: slong, p: *const fmpz);
    pub fn padic_poly_canonicalise(poly: *mut padic_poly_struct, p: *const fmpz);
    pub fn padic_poly_reduce(poly: *mut padic_poly_struct, ctx: *const padic_ctx_struct);
    #[link_name = "padic_poly_truncate__extern"]
    pub fn padic_poly_truncate(poly: *mut padic_poly_struct, n: slong, p: *const fmpz);
    #[link_name = "padic_poly_degree__extern"]
    pub fn padic_poly_degree(poly: *const padic_poly_struct) -> slong;
    #[link_name = "padic_poly_length__extern"]
    pub fn padic_poly_length(poly: *const padic_poly_struct) -> slong;
    #[link_name = "padic_poly_val__extern"]
    pub fn padic_poly_val(poly: *const padic_poly_struct) -> slong;
    pub fn padic_poly_randtest(
        f: *mut padic_poly_struct,
        state: *mut flint_rand_struct,
        len: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_randtest_not_zero(
        f: *mut padic_poly_struct,
        state: *mut flint_rand_struct,
        len: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_randtest_val(
        f: *mut padic_poly_struct,
        state: *mut flint_rand_struct,
        val: slong,
        len: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_set(
        poly1: *mut padic_poly_struct,
        poly2: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_set_padic(
        poly: *mut padic_poly_struct,
        x: *const padic_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_set_si(poly: *mut padic_poly_struct, x: slong, ctx: *const padic_ctx_struct);
    pub fn padic_poly_set_ui(poly: *mut padic_poly_struct, x: ulong, ctx: *const padic_ctx_struct);
    pub fn padic_poly_set_fmpz(
        poly: *mut padic_poly_struct,
        x: *const fmpz,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_set_fmpq(
        poly: *mut padic_poly_struct,
        x: *const fmpq,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_set_fmpz_poly(
        rop: *mut padic_poly_struct,
        op: *const fmpz_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_set_fmpq_poly(
        rop: *mut padic_poly_struct,
        op: *const fmpq_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_get_fmpz_poly(
        rop: *mut fmpz_poly_struct,
        op: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_get_fmpq_poly(
        rop: *mut fmpq_poly_struct,
        op: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    #[link_name = "padic_poly_zero__extern"]
    pub fn padic_poly_zero(poly: *mut padic_poly_struct);
    #[link_name = "padic_poly_one__extern"]
    pub fn padic_poly_one(poly: *mut padic_poly_struct);
    pub fn padic_poly_swap(poly1: *mut padic_poly_struct, poly2: *mut padic_poly_struct);
    pub fn padic_poly_get_coeff_padic(
        c: *mut padic_struct,
        poly: *const padic_poly_struct,
        n: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_set_coeff_padic(
        poly: *mut padic_poly_struct,
        n: slong,
        c: *const padic_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_equal(
        poly1: *const padic_poly_struct,
        poly2: *const padic_poly_struct,
    ) -> libc::c_int;
    #[link_name = "padic_poly_is_zero__extern"]
    pub fn padic_poly_is_zero(poly: *const padic_poly_struct) -> libc::c_int;
    #[link_name = "padic_poly_is_one__extern"]
    pub fn padic_poly_is_one(poly: *const padic_poly_struct) -> libc::c_int;
    pub fn _padic_poly_add(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op1: *const fmpz,
        val1: slong,
        len1: slong,
        UNUSED_N1: slong,
        op2: *const fmpz,
        val2: slong,
        len2: slong,
        UNUSED_N2: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_add(
        f: *mut padic_poly_struct,
        g: *const padic_poly_struct,
        h: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_sub(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op1: *const fmpz,
        val1: slong,
        len1: slong,
        UNUSED_N1: slong,
        op2: *const fmpz,
        val2: slong,
        len2: slong,
        UNUSED_N2: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_sub(
        f: *mut padic_poly_struct,
        g: *const padic_poly_struct,
        h: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_neg(
        f: *mut padic_poly_struct,
        g: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_scalar_mul_padic(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op: *const fmpz,
        val: slong,
        len: slong,
        c: *const padic_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_scalar_mul_padic(
        rop: *mut padic_poly_struct,
        op: *const padic_poly_struct,
        c: *const padic_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_mul(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op1: *const fmpz,
        val1: slong,
        len1: slong,
        op2: *const fmpz,
        val2: slong,
        len2: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_mul(
        res: *mut padic_poly_struct,
        poly1: *const padic_poly_struct,
        poly2: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_pow(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op: *const fmpz,
        val: slong,
        len: slong,
        e: ulong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_pow(
        rop: *mut padic_poly_struct,
        op: *const padic_poly_struct,
        e: ulong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_inv_series(
        g: *mut padic_poly_struct,
        f: *const padic_poly_struct,
        n: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_derivative(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op: *const fmpz,
        val: slong,
        len: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_derivative(
        rop: *mut padic_poly_struct,
        op: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_shift_left(
        rop: *mut padic_poly_struct,
        op: *const padic_poly_struct,
        n: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_shift_right(
        rop: *mut padic_poly_struct,
        op: *const padic_poly_struct,
        n: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_evaluate_padic(
        u: *mut fmpz,
        v: *mut slong,
        N: slong,
        poly: *const fmpz,
        val: slong,
        len: slong,
        a: *const fmpz,
        b: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_evaluate_padic(
        y: *mut padic_struct,
        poly: *const padic_poly_struct,
        a: *const padic_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_compose(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op1: *const fmpz,
        val1: slong,
        len1: slong,
        op2: *const fmpz,
        val2: slong,
        len2: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_compose(
        rop: *mut padic_poly_struct,
        op1: *const padic_poly_struct,
        op2: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_compose_pow(
        rop: *mut fmpz,
        rval: *mut slong,
        N: slong,
        op: *const fmpz,
        val: slong,
        len: slong,
        k: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn padic_poly_compose_pow(
        rop: *mut padic_poly_struct,
        op: *const padic_poly_struct,
        k: slong,
        ctx: *const padic_ctx_struct,
    );
    pub fn _padic_poly_fprint(
        file: *mut FILE,
        poly: *const fmpz,
        val: slong,
        len: slong,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_fprint(
        file: *mut FILE,
        poly: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn _padic_poly_fprint_pretty(
        file: *mut FILE,
        poly: *const fmpz,
        len: slong,
        val: slong,
        var: *const libc::c_char,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_fprint_pretty(
        file: *mut FILE,
        poly: *const padic_poly_struct,
        var: *const libc::c_char,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn _padic_poly_print(
        poly: *const fmpz,
        val: slong,
        len: slong,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_print(
        poly: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn _padic_poly_print_pretty(
        poly: *const fmpz,
        len: slong,
        val: slong,
        var: *const libc::c_char,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_print_pretty(
        poly: *const padic_poly_struct,
        var: *const libc::c_char,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_debug(poly: *const padic_poly_struct) -> libc::c_int;
    pub fn _padic_poly_is_canonical(
        op: *const fmpz,
        val: slong,
        len: slong,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_is_canonical(
        op: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn _padic_poly_is_reduced(
        op: *const fmpz,
        val: slong,
        len: slong,
        N: slong,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
    pub fn padic_poly_is_reduced(
        op: *const padic_poly_struct,
        ctx: *const padic_ctx_struct,
    ) -> libc::c_int;
}