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


#[repr(C)]
pub struct zz_struct {
    pub alloc: libc::c_int,
    pub size: libc::c_int,
    pub ptr: nn_ptr,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of zz_struct"][::std::mem::size_of::<zz_struct>() - 16usize];
    ["Alignment of zz_struct"][::std::mem::align_of::<zz_struct>() - 8usize];
    ["Offset of field: zz_struct::alloc"][::std::mem::offset_of!(zz_struct, alloc) - 0usize];
    ["Offset of field: zz_struct::size"][::std::mem::offset_of!(zz_struct, size) - 4usize];
    ["Offset of field: zz_struct::ptr"][::std::mem::offset_of!(zz_struct, ptr) - 8usize];
};
impl Default for zz_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 zz_ptr = *mut zz_struct;
pub type zz_srcptr = *const zz_struct;
#[repr(C)]
pub struct fmpz_factor_struct {
    pub sign: libc::c_int,
    pub p: *mut fmpz,
    pub exp: *mut ulong,
    pub alloc: slong,
    pub num: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_factor_struct"][::std::mem::size_of::<fmpz_factor_struct>() - 40usize];
    ["Alignment of fmpz_factor_struct"][::std::mem::align_of::<fmpz_factor_struct>() - 8usize];
    ["Offset of field: fmpz_factor_struct::sign"]
        [::std::mem::offset_of!(fmpz_factor_struct, sign) - 0usize];
    ["Offset of field: fmpz_factor_struct::p"]
        [::std::mem::offset_of!(fmpz_factor_struct, p) - 8usize];
    ["Offset of field: fmpz_factor_struct::exp"]
        [::std::mem::offset_of!(fmpz_factor_struct, exp) - 16usize];
    ["Offset of field: fmpz_factor_struct::alloc"]
        [::std::mem::offset_of!(fmpz_factor_struct, alloc) - 24usize];
    ["Offset of field: fmpz_factor_struct::num"]
        [::std::mem::offset_of!(fmpz_factor_struct, num) - 32usize];
};
impl Default for fmpz_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_factor_t = [fmpz_factor_struct; 1usize];
#[repr(C)]
pub struct fmpz_preinvn_struct {
    pub dinv: nn_ptr,
    pub n: slong,
    pub norm: flint_bitcnt_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_preinvn_struct"][::std::mem::size_of::<fmpz_preinvn_struct>() - 24usize];
    ["Alignment of fmpz_preinvn_struct"][::std::mem::align_of::<fmpz_preinvn_struct>() - 8usize];
    ["Offset of field: fmpz_preinvn_struct::dinv"]
        [::std::mem::offset_of!(fmpz_preinvn_struct, dinv) - 0usize];
    ["Offset of field: fmpz_preinvn_struct::n"]
        [::std::mem::offset_of!(fmpz_preinvn_struct, n) - 8usize];
    ["Offset of field: fmpz_preinvn_struct::norm"]
        [::std::mem::offset_of!(fmpz_preinvn_struct, norm) - 16usize];
};
impl Default for fmpz_preinvn_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_preinvn_t = [fmpz_preinvn_struct; 1usize];
#[repr(C)]
pub struct fmpz_poly_struct {
    pub coeffs: *mut fmpz,
    pub alloc: slong,
    pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_poly_struct"][::std::mem::size_of::<fmpz_poly_struct>() - 24usize];
    ["Alignment of fmpz_poly_struct"][::std::mem::align_of::<fmpz_poly_struct>() - 8usize];
    ["Offset of field: fmpz_poly_struct::coeffs"]
        [::std::mem::offset_of!(fmpz_poly_struct, coeffs) - 0usize];
    ["Offset of field: fmpz_poly_struct::alloc"]
        [::std::mem::offset_of!(fmpz_poly_struct, alloc) - 8usize];
    ["Offset of field: fmpz_poly_struct::length"]
        [::std::mem::offset_of!(fmpz_poly_struct, length) - 16usize];
};
impl Default for fmpz_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_poly_t = [fmpz_poly_struct; 1usize];
#[repr(C)]
pub struct fmpz_poly_factor_struct {
    pub c: fmpz,
    pub p: *mut fmpz_poly_struct,
    pub exp: *mut slong,
    pub num: slong,
    pub alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_poly_factor_struct"][::std::mem::size_of::<fmpz_poly_factor_struct>() - 40usize];
    ["Alignment of fmpz_poly_factor_struct"]
        [::std::mem::align_of::<fmpz_poly_factor_struct>() - 8usize];
    ["Offset of field: fmpz_poly_factor_struct::c"]
        [::std::mem::offset_of!(fmpz_poly_factor_struct, c) - 0usize];
    ["Offset of field: fmpz_poly_factor_struct::p"]
        [::std::mem::offset_of!(fmpz_poly_factor_struct, p) - 8usize];
    ["Offset of field: fmpz_poly_factor_struct::exp"]
        [::std::mem::offset_of!(fmpz_poly_factor_struct, exp) - 16usize];
    ["Offset of field: fmpz_poly_factor_struct::num"]
        [::std::mem::offset_of!(fmpz_poly_factor_struct, num) - 24usize];
    ["Offset of field: fmpz_poly_factor_struct::alloc"]
        [::std::mem::offset_of!(fmpz_poly_factor_struct, alloc) - 32usize];
};
impl Default for fmpz_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_poly_factor_t = [fmpz_poly_factor_struct; 1usize];
#[repr(C)]
pub struct fmpz_mat_struct {
    pub entries: *mut fmpz,
    pub r: slong,
    pub c: slong,
    pub stride: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mat_struct"][::std::mem::size_of::<fmpz_mat_struct>() - 32usize];
    ["Alignment of fmpz_mat_struct"][::std::mem::align_of::<fmpz_mat_struct>() - 8usize];
    ["Offset of field: fmpz_mat_struct::entries"]
        [::std::mem::offset_of!(fmpz_mat_struct, entries) - 0usize];
    ["Offset of field: fmpz_mat_struct::r"][::std::mem::offset_of!(fmpz_mat_struct, r) - 8usize];
    ["Offset of field: fmpz_mat_struct::c"][::std::mem::offset_of!(fmpz_mat_struct, c) - 16usize];
    ["Offset of field: fmpz_mat_struct::stride"]
        [::std::mem::offset_of!(fmpz_mat_struct, stride) - 24usize];
};
impl Default for fmpz_mat_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_mat_t = [fmpz_mat_struct; 1usize];
#[repr(C)]
pub struct fmpz_poly_mat_struct {
    pub entries: *mut fmpz_poly_struct,
    pub r: slong,
    pub c: slong,
    pub stride: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_poly_mat_struct"][::std::mem::size_of::<fmpz_poly_mat_struct>() - 32usize];
    ["Alignment of fmpz_poly_mat_struct"][::std::mem::align_of::<fmpz_poly_mat_struct>() - 8usize];
    ["Offset of field: fmpz_poly_mat_struct::entries"]
        [::std::mem::offset_of!(fmpz_poly_mat_struct, entries) - 0usize];
    ["Offset of field: fmpz_poly_mat_struct::r"]
        [::std::mem::offset_of!(fmpz_poly_mat_struct, r) - 8usize];
    ["Offset of field: fmpz_poly_mat_struct::c"]
        [::std::mem::offset_of!(fmpz_poly_mat_struct, c) - 16usize];
    ["Offset of field: fmpz_poly_mat_struct::stride"]
        [::std::mem::offset_of!(fmpz_poly_mat_struct, stride) - 24usize];
};
impl Default for fmpz_poly_mat_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_poly_mat_t = [fmpz_poly_mat_struct; 1usize];
#[repr(C)]
pub struct fmpz_mpoly_struct {
    pub coeffs: *mut fmpz,
    pub exps: *mut ulong,
    pub alloc: slong,
    pub length: slong,
    pub bits: flint_bitcnt_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mpoly_struct"][::std::mem::size_of::<fmpz_mpoly_struct>() - 40usize];
    ["Alignment of fmpz_mpoly_struct"][::std::mem::align_of::<fmpz_mpoly_struct>() - 8usize];
    ["Offset of field: fmpz_mpoly_struct::coeffs"]
        [::std::mem::offset_of!(fmpz_mpoly_struct, coeffs) - 0usize];
    ["Offset of field: fmpz_mpoly_struct::exps"]
        [::std::mem::offset_of!(fmpz_mpoly_struct, exps) - 8usize];
    ["Offset of field: fmpz_mpoly_struct::alloc"]
        [::std::mem::offset_of!(fmpz_mpoly_struct, alloc) - 16usize];
    ["Offset of field: fmpz_mpoly_struct::length"]
        [::std::mem::offset_of!(fmpz_mpoly_struct, length) - 24usize];
    ["Offset of field: fmpz_mpoly_struct::bits"]
        [::std::mem::offset_of!(fmpz_mpoly_struct, bits) - 32usize];
};
impl Default for fmpz_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_mpoly_t = [fmpz_mpoly_struct; 1usize];
#[repr(C)]
pub struct fmpz_mpoly_factor_struct {
    pub constant: fmpz_t,
    pub constant_den: fmpz_t,
    pub poly: *mut fmpz_mpoly_struct,
    pub exp: *mut fmpz,
    pub num: slong,
    pub alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mpoly_factor_struct"]
        [::std::mem::size_of::<fmpz_mpoly_factor_struct>() - 48usize];
    ["Alignment of fmpz_mpoly_factor_struct"]
        [::std::mem::align_of::<fmpz_mpoly_factor_struct>() - 8usize];
    ["Offset of field: fmpz_mpoly_factor_struct::constant"]
        [::std::mem::offset_of!(fmpz_mpoly_factor_struct, constant) - 0usize];
    ["Offset of field: fmpz_mpoly_factor_struct::constant_den"]
        [::std::mem::offset_of!(fmpz_mpoly_factor_struct, constant_den) - 8usize];
    ["Offset of field: fmpz_mpoly_factor_struct::poly"]
        [::std::mem::offset_of!(fmpz_mpoly_factor_struct, poly) - 16usize];
    ["Offset of field: fmpz_mpoly_factor_struct::exp"]
        [::std::mem::offset_of!(fmpz_mpoly_factor_struct, exp) - 24usize];
    ["Offset of field: fmpz_mpoly_factor_struct::num"]
        [::std::mem::offset_of!(fmpz_mpoly_factor_struct, num) - 32usize];
    ["Offset of field: fmpz_mpoly_factor_struct::alloc"]
        [::std::mem::offset_of!(fmpz_mpoly_factor_struct, alloc) - 40usize];
};
impl Default for fmpz_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_mpoly_factor_t = [fmpz_mpoly_factor_struct; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fmpz_poly_q_struct {
    pub num: *mut fmpz_poly_struct,
    pub den: *mut fmpz_poly_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_poly_q_struct"][::std::mem::size_of::<fmpz_poly_q_struct>() - 16usize];
    ["Alignment of fmpz_poly_q_struct"][::std::mem::align_of::<fmpz_poly_q_struct>() - 8usize];
    ["Offset of field: fmpz_poly_q_struct::num"]
        [::std::mem::offset_of!(fmpz_poly_q_struct, num) - 0usize];
    ["Offset of field: fmpz_poly_q_struct::den"]
        [::std::mem::offset_of!(fmpz_poly_q_struct, den) - 8usize];
};
impl Default for fmpz_poly_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_poly_q_t = [fmpz_poly_q_struct; 1usize];
#[repr(C)]
pub struct fmpz_mpoly_q_struct {
    pub num: fmpz_mpoly_struct,
    pub den: fmpz_mpoly_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpz_mpoly_q_struct"][::std::mem::size_of::<fmpz_mpoly_q_struct>() - 80usize];
    ["Alignment of fmpz_mpoly_q_struct"][::std::mem::align_of::<fmpz_mpoly_q_struct>() - 8usize];
    ["Offset of field: fmpz_mpoly_q_struct::num"]
        [::std::mem::offset_of!(fmpz_mpoly_q_struct, num) - 0usize];
    ["Offset of field: fmpz_mpoly_q_struct::den"]
        [::std::mem::offset_of!(fmpz_mpoly_q_struct, den) - 40usize];
};
impl Default for fmpz_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_mpoly_q_t = [fmpz_mpoly_q_struct; 1usize];
#[repr(C)]
pub struct fmpzi_struct {
    pub a: fmpz,
    pub b: fmpz,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fmpzi_struct"][::std::mem::size_of::<fmpzi_struct>() - 16usize];
    ["Alignment of fmpzi_struct"][::std::mem::align_of::<fmpzi_struct>() - 8usize];
    ["Offset of field: fmpzi_struct::a"][::std::mem::offset_of!(fmpzi_struct, a) - 0usize];
    ["Offset of field: fmpzi_struct::b"][::std::mem::offset_of!(fmpzi_struct, b) - 8usize];
};
impl Default for fmpzi_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 fmpzi_t = [fmpzi_struct; 1usize];