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


#[repr(C)]
pub struct fmpz_mod_ctx {
    pub n: fmpz_t,
    pub add_fxn: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut fmpz,
            arg2: *const fmpz,
            arg3: *const fmpz,
            arg4: *const fmpz_mod_ctx,
        ),
    >,
    pub sub_fxn: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut fmpz,
            arg2: *const fmpz,
            arg3: *const fmpz,
            arg4: *const fmpz_mod_ctx,
        ),
    >,
    pub mul_fxn: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut fmpz,
            arg2: *const fmpz,
            arg3: *const fmpz,
            arg4: *const fmpz_mod_ctx,
        ),
    >,
    pub mod_: nmod_t,
    pub n_limbs: [ulong; 3usize],
    pub ninv_limbs: [ulong; 3usize],
    pub ninv_huge: *mut fmpz_preinvn_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mod_ctx"][::std::mem::size_of::<fmpz_mod_ctx>() - 112usize];
    ["Alignment of fmpz_mod_ctx"][::std::mem::align_of::<fmpz_mod_ctx>() - 8usize];
    ["Offset of field: fmpz_mod_ctx::n"][::std::mem::offset_of!(fmpz_mod_ctx, n) - 0usize];
    ["Offset of field: fmpz_mod_ctx::add_fxn"]
        [::std::mem::offset_of!(fmpz_mod_ctx, add_fxn) - 8usize];
    ["Offset of field: fmpz_mod_ctx::sub_fxn"]
        [::std::mem::offset_of!(fmpz_mod_ctx, sub_fxn) - 16usize];
    ["Offset of field: fmpz_mod_ctx::mul_fxn"]
        [::std::mem::offset_of!(fmpz_mod_ctx, mul_fxn) - 24usize];
    ["Offset of field: fmpz_mod_ctx::mod_"][::std::mem::offset_of!(fmpz_mod_ctx, mod_) - 32usize];
    ["Offset of field: fmpz_mod_ctx::n_limbs"]
        [::std::mem::offset_of!(fmpz_mod_ctx, n_limbs) - 56usize];
    ["Offset of field: fmpz_mod_ctx::ninv_limbs"]
        [::std::mem::offset_of!(fmpz_mod_ctx, ninv_limbs) - 80usize];
    ["Offset of field: fmpz_mod_ctx::ninv_huge"]
        [::std::mem::offset_of!(fmpz_mod_ctx, ninv_huge) - 104usize];
};
impl Default for fmpz_mod_ctx {
    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 fmpz_mod_ctx_struct = fmpz_mod_ctx;
pub type fmpz_mod_ctx_t = [fmpz_mod_ctx_struct; 1usize];
pub type fmpz_mod_mat_struct = fmpz_mat_struct;
pub type fmpz_mod_mat_t = [fmpz_mod_mat_struct; 1usize];
#[repr(C)]
pub struct fmpz_mod_poly_struct {
    pub coeffs: *mut fmpz,
    pub alloc: slong,
    pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mod_poly_struct"][::std::mem::size_of::<fmpz_mod_poly_struct>() - 24usize];
    ["Alignment of fmpz_mod_poly_struct"][::std::mem::align_of::<fmpz_mod_poly_struct>() - 8usize];
    ["Offset of field: fmpz_mod_poly_struct::coeffs"]
        [::std::mem::offset_of!(fmpz_mod_poly_struct, coeffs) - 0usize];
    ["Offset of field: fmpz_mod_poly_struct::alloc"]
        [::std::mem::offset_of!(fmpz_mod_poly_struct, alloc) - 8usize];
    ["Offset of field: fmpz_mod_poly_struct::length"]
        [::std::mem::offset_of!(fmpz_mod_poly_struct, length) - 16usize];
};
impl Default for fmpz_mod_poly_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 fmpz_mod_poly_t = [fmpz_mod_poly_struct; 1usize];
#[repr(C)]
pub struct fmpz_mod_poly_factor_struct {
    pub poly: *mut fmpz_mod_poly_struct,
    pub exp: *mut slong,
    pub num: slong,
    pub alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mod_poly_factor_struct"]
        [::std::mem::size_of::<fmpz_mod_poly_factor_struct>() - 32usize];
    ["Alignment of fmpz_mod_poly_factor_struct"]
        [::std::mem::align_of::<fmpz_mod_poly_factor_struct>() - 8usize];
    ["Offset of field: fmpz_mod_poly_factor_struct::poly"]
        [::std::mem::offset_of!(fmpz_mod_poly_factor_struct, poly) - 0usize];
    ["Offset of field: fmpz_mod_poly_factor_struct::exp"]
        [::std::mem::offset_of!(fmpz_mod_poly_factor_struct, exp) - 8usize];
    ["Offset of field: fmpz_mod_poly_factor_struct::num"]
        [::std::mem::offset_of!(fmpz_mod_poly_factor_struct, num) - 16usize];
    ["Offset of field: fmpz_mod_poly_factor_struct::alloc"]
        [::std::mem::offset_of!(fmpz_mod_poly_factor_struct, alloc) - 24usize];
};
impl Default for fmpz_mod_poly_factor_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 fmpz_mod_poly_factor_t = [fmpz_mod_poly_factor_struct; 1usize];
#[repr(C)]
pub struct fmpz_mod_mpoly_struct {
    pub coeffs: *mut fmpz,
    pub exps: *mut ulong,
    pub length: slong,
    pub bits: flint_bitcnt_t,
    pub coeffs_alloc: slong,
    pub exps_alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mod_mpoly_struct"][::std::mem::size_of::<fmpz_mod_mpoly_struct>() - 48usize];
    ["Alignment of fmpz_mod_mpoly_struct"]
        [::std::mem::align_of::<fmpz_mod_mpoly_struct>() - 8usize];
    ["Offset of field: fmpz_mod_mpoly_struct::coeffs"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_struct, coeffs) - 0usize];
    ["Offset of field: fmpz_mod_mpoly_struct::exps"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_struct, exps) - 8usize];
    ["Offset of field: fmpz_mod_mpoly_struct::length"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_struct, length) - 16usize];
    ["Offset of field: fmpz_mod_mpoly_struct::bits"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_struct, bits) - 24usize];
    ["Offset of field: fmpz_mod_mpoly_struct::coeffs_alloc"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_struct, coeffs_alloc) - 32usize];
    ["Offset of field: fmpz_mod_mpoly_struct::exps_alloc"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_struct, exps_alloc) - 40usize];
};
impl Default for fmpz_mod_mpoly_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 fmpz_mod_mpoly_t = [fmpz_mod_mpoly_struct; 1usize];
#[repr(C)]
pub struct fmpz_mod_mpoly_factor_struct {
    pub constant: fmpz_t,
    pub poly: *mut fmpz_mod_mpoly_struct,
    pub exp: *mut fmpz,
    pub num: slong,
    pub alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mod_mpoly_factor_struct"]
        [::std::mem::size_of::<fmpz_mod_mpoly_factor_struct>() - 40usize];
    ["Alignment of fmpz_mod_mpoly_factor_struct"]
        [::std::mem::align_of::<fmpz_mod_mpoly_factor_struct>() - 8usize];
    ["Offset of field: fmpz_mod_mpoly_factor_struct::constant"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_factor_struct, constant) - 0usize];
    ["Offset of field: fmpz_mod_mpoly_factor_struct::poly"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_factor_struct, poly) - 8usize];
    ["Offset of field: fmpz_mod_mpoly_factor_struct::exp"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_factor_struct, exp) - 16usize];
    ["Offset of field: fmpz_mod_mpoly_factor_struct::num"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_factor_struct, num) - 24usize];
    ["Offset of field: fmpz_mod_mpoly_factor_struct::alloc"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_factor_struct, alloc) - 32usize];
};
impl Default for fmpz_mod_mpoly_factor_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 fmpz_mod_mpoly_factor_t = [fmpz_mod_mpoly_factor_struct; 1usize];
#[repr(C)]
pub struct fmpz_mod_mpoly_q_struct {
    pub num: fmpz_mod_mpoly_struct,
    pub den: fmpz_mod_mpoly_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mod_mpoly_q_struct"][::std::mem::size_of::<fmpz_mod_mpoly_q_struct>() - 96usize];
    ["Alignment of fmpz_mod_mpoly_q_struct"]
        [::std::mem::align_of::<fmpz_mod_mpoly_q_struct>() - 8usize];
    ["Offset of field: fmpz_mod_mpoly_q_struct::num"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_q_struct, num) - 0usize];
    ["Offset of field: fmpz_mod_mpoly_q_struct::den"]
        [::std::mem::offset_of!(fmpz_mod_mpoly_q_struct, den) - 48usize];
};
impl Default for fmpz_mod_mpoly_q_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 fmpz_mod_mpoly_q_t = [fmpz_mod_mpoly_q_struct; 1usize];