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];