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


pub type fq_t = fmpz_poly_t;
pub type fq_struct = fmpz_poly_struct;
#[repr(C)]
pub struct fq_ctx_struct {
    pub ctxp: fmpz_mod_ctx_t,
    pub sparse_modulus: libc::c_int,
    pub is_conway: libc::c_int,
    pub a: *mut fmpz,
    pub j: *mut slong,
    pub len: slong,
    pub modulus: fmpz_mod_poly_t,
    pub inv: fmpz_mod_poly_t,
    pub var: *mut libc::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fq_ctx_struct"][::std::mem::size_of::<fq_ctx_struct>() - 200usize];
    ["Alignment of fq_ctx_struct"][::std::mem::align_of::<fq_ctx_struct>() - 8usize];
    ["Offset of field: fq_ctx_struct::ctxp"][::std::mem::offset_of!(fq_ctx_struct, ctxp) - 0usize];
    ["Offset of field: fq_ctx_struct::sparse_modulus"]
        [::std::mem::offset_of!(fq_ctx_struct, sparse_modulus) - 112usize];
    ["Offset of field: fq_ctx_struct::is_conway"]
        [::std::mem::offset_of!(fq_ctx_struct, is_conway) - 116usize];
    ["Offset of field: fq_ctx_struct::a"][::std::mem::offset_of!(fq_ctx_struct, a) - 120usize];
    ["Offset of field: fq_ctx_struct::j"][::std::mem::offset_of!(fq_ctx_struct, j) - 128usize];
    ["Offset of field: fq_ctx_struct::len"][::std::mem::offset_of!(fq_ctx_struct, len) - 136usize];
    ["Offset of field: fq_ctx_struct::modulus"]
        [::std::mem::offset_of!(fq_ctx_struct, modulus) - 144usize];
    ["Offset of field: fq_ctx_struct::inv"][::std::mem::offset_of!(fq_ctx_struct, inv) - 168usize];
    ["Offset of field: fq_ctx_struct::var"][::std::mem::offset_of!(fq_ctx_struct, var) - 192usize];
};
impl Default for fq_ctx_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 fq_ctx_t = [fq_ctx_struct; 1usize];
#[repr(C)]
pub struct fq_mat_struct {
    pub entries: *mut fq_struct,
    pub r: slong,
    pub c: slong,
    pub stride: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fq_mat_struct"][::std::mem::size_of::<fq_mat_struct>() - 32usize];
    ["Alignment of fq_mat_struct"][::std::mem::align_of::<fq_mat_struct>() - 8usize];
    ["Offset of field: fq_mat_struct::entries"]
        [::std::mem::offset_of!(fq_mat_struct, entries) - 0usize];
    ["Offset of field: fq_mat_struct::r"][::std::mem::offset_of!(fq_mat_struct, r) - 8usize];
    ["Offset of field: fq_mat_struct::c"][::std::mem::offset_of!(fq_mat_struct, c) - 16usize];
    ["Offset of field: fq_mat_struct::stride"]
        [::std::mem::offset_of!(fq_mat_struct, stride) - 24usize];
};
impl Default for fq_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 fq_mat_t = [fq_mat_struct; 1usize];
#[repr(C)]
pub struct fq_poly_struct {
    pub coeffs: *mut fq_struct,
    pub alloc: slong,
    pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fq_poly_struct"][::std::mem::size_of::<fq_poly_struct>() - 24usize];
    ["Alignment of fq_poly_struct"][::std::mem::align_of::<fq_poly_struct>() - 8usize];
    ["Offset of field: fq_poly_struct::coeffs"]
        [::std::mem::offset_of!(fq_poly_struct, coeffs) - 0usize];
    ["Offset of field: fq_poly_struct::alloc"]
        [::std::mem::offset_of!(fq_poly_struct, alloc) - 8usize];
    ["Offset of field: fq_poly_struct::length"]
        [::std::mem::offset_of!(fq_poly_struct, length) - 16usize];
};
impl Default for fq_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 fq_poly_t = [fq_poly_struct; 1usize];
#[repr(C)]
pub struct fq_poly_factor_struct {
    pub poly: *mut fq_poly_struct,
    pub exp: *mut slong,
    pub num: slong,
    pub alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of fq_poly_factor_struct"][::std::mem::size_of::<fq_poly_factor_struct>() - 32usize];
    ["Alignment of fq_poly_factor_struct"]
        [::std::mem::align_of::<fq_poly_factor_struct>() - 8usize];
    ["Offset of field: fq_poly_factor_struct::poly"]
        [::std::mem::offset_of!(fq_poly_factor_struct, poly) - 0usize];
    ["Offset of field: fq_poly_factor_struct::exp"]
        [::std::mem::offset_of!(fq_poly_factor_struct, exp) - 8usize];
    ["Offset of field: fq_poly_factor_struct::num"]
        [::std::mem::offset_of!(fq_poly_factor_struct, num) - 16usize];
    ["Offset of field: fq_poly_factor_struct::alloc"]
        [::std::mem::offset_of!(fq_poly_factor_struct, alloc) - 24usize];
};
impl Default for fq_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 fq_poly_factor_t = [fq_poly_factor_struct; 1usize];