use crate::deps::*;
use crate::acb_types::*;
use crate::flint::*;
use crate::fmpz_mpoly::*;
use crate::fmpz_types::*;
use crate::mpoly_types::*;
use crate::nf::*;
use crate::nf_elem::*;
use crate::qqbar::*;
#[repr(C)]
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
impl<T> __BindgenUnionField<T> {
#[inline]
pub const fn new() -> Self {
__BindgenUnionField(::std::marker::PhantomData)
}
#[inline]
pub unsafe fn as_ref(&self) -> &T {
::std::mem::transmute(self)
}
#[inline]
pub unsafe fn as_mut(&mut self) -> &mut T {
::std::mem::transmute(self)
}
}
impl<T> ::std::default::Default for __BindgenUnionField<T> {
#[inline]
fn default() -> Self {
Self::new()
}
}
impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
#[inline]
fn clone(&self) -> Self {
*self
}
}
impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
fmt.write_str("__BindgenUnionField")
}
}
impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
}
impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
true
}
}
impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
pub const calcium_func_code_CA_QQBar: calcium_func_code = 0;
pub const calcium_func_code_CA_Neg: calcium_func_code = 1;
pub const calcium_func_code_CA_Add: calcium_func_code = 2;
pub const calcium_func_code_CA_Sub: calcium_func_code = 3;
pub const calcium_func_code_CA_Mul: calcium_func_code = 4;
pub const calcium_func_code_CA_Div: calcium_func_code = 5;
pub const calcium_func_code_CA_Sqrt: calcium_func_code = 6;
pub const calcium_func_code_CA_Cbrt: calcium_func_code = 7;
pub const calcium_func_code_CA_Root: calcium_func_code = 8;
pub const calcium_func_code_CA_Floor: calcium_func_code = 9;
pub const calcium_func_code_CA_Ceil: calcium_func_code = 10;
pub const calcium_func_code_CA_Abs: calcium_func_code = 11;
pub const calcium_func_code_CA_Sign: calcium_func_code = 12;
pub const calcium_func_code_CA_Re: calcium_func_code = 13;
pub const calcium_func_code_CA_Im: calcium_func_code = 14;
pub const calcium_func_code_CA_Arg: calcium_func_code = 15;
pub const calcium_func_code_CA_Conjugate: calcium_func_code = 16;
pub const calcium_func_code_CA_Pi: calcium_func_code = 17;
pub const calcium_func_code_CA_Sin: calcium_func_code = 18;
pub const calcium_func_code_CA_Cos: calcium_func_code = 19;
pub const calcium_func_code_CA_Exp: calcium_func_code = 20;
pub const calcium_func_code_CA_Log: calcium_func_code = 21;
pub const calcium_func_code_CA_Pow: calcium_func_code = 22;
pub const calcium_func_code_CA_Tan: calcium_func_code = 23;
pub const calcium_func_code_CA_Cot: calcium_func_code = 24;
pub const calcium_func_code_CA_Cosh: calcium_func_code = 25;
pub const calcium_func_code_CA_Sinh: calcium_func_code = 26;
pub const calcium_func_code_CA_Tanh: calcium_func_code = 27;
pub const calcium_func_code_CA_Coth: calcium_func_code = 28;
pub const calcium_func_code_CA_Atan: calcium_func_code = 29;
pub const calcium_func_code_CA_Acos: calcium_func_code = 30;
pub const calcium_func_code_CA_Asin: calcium_func_code = 31;
pub const calcium_func_code_CA_Acot: calcium_func_code = 32;
pub const calcium_func_code_CA_Atanh: calcium_func_code = 33;
pub const calcium_func_code_CA_Acosh: calcium_func_code = 34;
pub const calcium_func_code_CA_Asinh: calcium_func_code = 35;
pub const calcium_func_code_CA_Acoth: calcium_func_code = 36;
pub const calcium_func_code_CA_Euler: calcium_func_code = 37;
pub const calcium_func_code_CA_Gamma: calcium_func_code = 38;
pub const calcium_func_code_CA_LogGamma: calcium_func_code = 39;
pub const calcium_func_code_CA_Psi: calcium_func_code = 40;
pub const calcium_func_code_CA_Erf: calcium_func_code = 41;
pub const calcium_func_code_CA_Erfc: calcium_func_code = 42;
pub const calcium_func_code_CA_Erfi: calcium_func_code = 43;
pub const calcium_func_code_CA_RiemannZeta: calcium_func_code = 44;
pub const calcium_func_code_CA_HurwitzZeta: calcium_func_code = 45;
pub const calcium_func_code_CA_FUNC_CODE_LENGTH: calcium_func_code = 46;
pub type calcium_func_code = libc::c_uint;
#[repr(C)]
pub struct ca_elem_struct {
pub q: __BindgenUnionField<fmpq>,
pub nf: __BindgenUnionField<nf_elem_struct>,
pub mpoly_q: __BindgenUnionField<*mut fmpz_mpoly_q_struct>,
pub bindgen_union_field: [u64; 4usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_elem_struct"][::std::mem::size_of::<ca_elem_struct>() - 32usize];
["Alignment of ca_elem_struct"][::std::mem::align_of::<ca_elem_struct>() - 8usize];
["Offset of field: ca_elem_struct::q"][::std::mem::offset_of!(ca_elem_struct, q) - 0usize];
["Offset of field: ca_elem_struct::nf"][::std::mem::offset_of!(ca_elem_struct, nf) - 0usize];
["Offset of field: ca_elem_struct::mpoly_q"]
[::std::mem::offset_of!(ca_elem_struct, mpoly_q) - 0usize];
};
impl Default for ca_elem_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()
}
}
}
#[repr(C)]
pub struct ca_struct {
pub field: ulong,
pub elem: ca_elem_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_struct"][::std::mem::size_of::<ca_struct>() - 40usize];
["Alignment of ca_struct"][::std::mem::align_of::<ca_struct>() - 8usize];
["Offset of field: ca_struct::field"][::std::mem::offset_of!(ca_struct, field) - 0usize];
["Offset of field: ca_struct::elem"][::std::mem::offset_of!(ca_struct, elem) - 8usize];
};
impl Default for ca_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 ca_t = [ca_struct; 1usize];
pub type ca_ptr = *mut ca_struct;
pub type ca_srcptr = *const ca_struct;
#[repr(C)]
pub struct ca_ext_qqbar {
pub x: qqbar_struct,
pub nf: *mut nf_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_ext_qqbar"][::std::mem::size_of::<ca_ext_qqbar>() - 128usize];
["Alignment of ca_ext_qqbar"][::std::mem::align_of::<ca_ext_qqbar>() - 8usize];
["Offset of field: ca_ext_qqbar::x"][::std::mem::offset_of!(ca_ext_qqbar, x) - 0usize];
["Offset of field: ca_ext_qqbar::nf"][::std::mem::offset_of!(ca_ext_qqbar, nf) - 120usize];
};
impl Default for ca_ext_qqbar {
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()
}
}
}
#[repr(C)]
pub struct ca_ext_func_data {
pub args: *mut ca_struct,
pub nargs: slong,
pub enclosure: acb_struct,
pub prec: slong,
pub qqbar: *mut qqbar_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_ext_func_data"][::std::mem::size_of::<ca_ext_func_data>() - 128usize];
["Alignment of ca_ext_func_data"][::std::mem::align_of::<ca_ext_func_data>() - 8usize];
["Offset of field: ca_ext_func_data::args"]
[::std::mem::offset_of!(ca_ext_func_data, args) - 0usize];
["Offset of field: ca_ext_func_data::nargs"]
[::std::mem::offset_of!(ca_ext_func_data, nargs) - 8usize];
["Offset of field: ca_ext_func_data::enclosure"]
[::std::mem::offset_of!(ca_ext_func_data, enclosure) - 16usize];
["Offset of field: ca_ext_func_data::prec"]
[::std::mem::offset_of!(ca_ext_func_data, prec) - 112usize];
["Offset of field: ca_ext_func_data::qqbar"]
[::std::mem::offset_of!(ca_ext_func_data, qqbar) - 120usize];
};
impl Default for ca_ext_func_data {
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()
}
}
}
#[repr(C)]
pub struct ca_ext_struct {
pub head: calcium_func_code,
pub hash: ulong,
pub depth: slong,
pub data: ca_ext_struct__bindgen_ty_1,
}
#[repr(C)]
pub struct ca_ext_struct__bindgen_ty_1 {
pub qqbar: __BindgenUnionField<ca_ext_qqbar>,
pub func_data: __BindgenUnionField<ca_ext_func_data>,
pub bindgen_union_field: [u64; 16usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_ext_struct__bindgen_ty_1"]
[::std::mem::size_of::<ca_ext_struct__bindgen_ty_1>() - 128usize];
["Alignment of ca_ext_struct__bindgen_ty_1"]
[::std::mem::align_of::<ca_ext_struct__bindgen_ty_1>() - 8usize];
["Offset of field: ca_ext_struct__bindgen_ty_1::qqbar"]
[::std::mem::offset_of!(ca_ext_struct__bindgen_ty_1, qqbar) - 0usize];
["Offset of field: ca_ext_struct__bindgen_ty_1::func_data"]
[::std::mem::offset_of!(ca_ext_struct__bindgen_ty_1, func_data) - 0usize];
};
impl Default for ca_ext_struct__bindgen_ty_1 {
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()
}
}
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_ext_struct"][::std::mem::size_of::<ca_ext_struct>() - 152usize];
["Alignment of ca_ext_struct"][::std::mem::align_of::<ca_ext_struct>() - 8usize];
["Offset of field: ca_ext_struct::head"][::std::mem::offset_of!(ca_ext_struct, head) - 0usize];
["Offset of field: ca_ext_struct::hash"][::std::mem::offset_of!(ca_ext_struct, hash) - 8usize];
["Offset of field: ca_ext_struct::depth"]
[::std::mem::offset_of!(ca_ext_struct, depth) - 16usize];
["Offset of field: ca_ext_struct::data"][::std::mem::offset_of!(ca_ext_struct, data) - 24usize];
};
impl Default for ca_ext_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 ca_ext_t = [ca_ext_struct; 1usize];
pub type ca_ext_ptr = *mut ca_ext_struct;
pub type ca_ext_srcptr = *const ca_ext_struct;
#[repr(C)]
pub struct ca_ext_cache_struct {
pub items: *mut *mut ca_ext_struct,
pub length: slong,
pub alloc: slong,
pub hash_size: slong,
pub hash_table: *mut slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_ext_cache_struct"][::std::mem::size_of::<ca_ext_cache_struct>() - 40usize];
["Alignment of ca_ext_cache_struct"][::std::mem::align_of::<ca_ext_cache_struct>() - 8usize];
["Offset of field: ca_ext_cache_struct::items"]
[::std::mem::offset_of!(ca_ext_cache_struct, items) - 0usize];
["Offset of field: ca_ext_cache_struct::length"]
[::std::mem::offset_of!(ca_ext_cache_struct, length) - 8usize];
["Offset of field: ca_ext_cache_struct::alloc"]
[::std::mem::offset_of!(ca_ext_cache_struct, alloc) - 16usize];
["Offset of field: ca_ext_cache_struct::hash_size"]
[::std::mem::offset_of!(ca_ext_cache_struct, hash_size) - 24usize];
["Offset of field: ca_ext_cache_struct::hash_table"]
[::std::mem::offset_of!(ca_ext_cache_struct, hash_table) - 32usize];
};
impl Default for ca_ext_cache_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 ca_ext_cache_t = [ca_ext_cache_struct; 1usize];
#[repr(C)]
pub struct ca_field_struct {
pub length: slong,
pub ext: *mut *mut ca_ext_struct,
pub ideal: fmpz_mpoly_vec_struct,
pub hash: ulong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_field_struct"][::std::mem::size_of::<ca_field_struct>() - 48usize];
["Alignment of ca_field_struct"][::std::mem::align_of::<ca_field_struct>() - 8usize];
["Offset of field: ca_field_struct::length"]
[::std::mem::offset_of!(ca_field_struct, length) - 0usize];
["Offset of field: ca_field_struct::ext"]
[::std::mem::offset_of!(ca_field_struct, ext) - 8usize];
["Offset of field: ca_field_struct::ideal"]
[::std::mem::offset_of!(ca_field_struct, ideal) - 16usize];
["Offset of field: ca_field_struct::hash"]
[::std::mem::offset_of!(ca_field_struct, hash) - 40usize];
};
impl Default for ca_field_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 ca_field_t = [ca_field_struct; 1usize];
pub type ca_field_ptr = *mut ca_field_struct;
pub type ca_field_srcptr = *const ca_field_struct;
#[repr(C)]
pub struct ca_field_cache_struct {
pub items: *mut *mut ca_field_struct,
pub length: slong,
pub alloc: slong,
pub hash_size: slong,
pub hash_table: *mut slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_field_cache_struct"][::std::mem::size_of::<ca_field_cache_struct>() - 40usize];
["Alignment of ca_field_cache_struct"]
[::std::mem::align_of::<ca_field_cache_struct>() - 8usize];
["Offset of field: ca_field_cache_struct::items"]
[::std::mem::offset_of!(ca_field_cache_struct, items) - 0usize];
["Offset of field: ca_field_cache_struct::length"]
[::std::mem::offset_of!(ca_field_cache_struct, length) - 8usize];
["Offset of field: ca_field_cache_struct::alloc"]
[::std::mem::offset_of!(ca_field_cache_struct, alloc) - 16usize];
["Offset of field: ca_field_cache_struct::hash_size"]
[::std::mem::offset_of!(ca_field_cache_struct, hash_size) - 24usize];
["Offset of field: ca_field_cache_struct::hash_table"]
[::std::mem::offset_of!(ca_field_cache_struct, hash_table) - 32usize];
};
impl Default for ca_field_cache_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 ca_field_cache_t = [ca_field_cache_struct; 1usize];
#[repr(C)]
pub struct ca_ctx_struct {
pub ext_cache: ca_ext_cache_struct,
pub field_cache: ca_field_cache_struct,
pub field_qq: *mut ca_field_struct,
pub field_qq_i: *mut ca_field_struct,
pub mctx: *mut *mut fmpz_mpoly_ctx_struct,
pub mctx_len: slong,
pub options: *mut slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_ctx_struct"][::std::mem::size_of::<ca_ctx_struct>() - 120usize];
["Alignment of ca_ctx_struct"][::std::mem::align_of::<ca_ctx_struct>() - 8usize];
["Offset of field: ca_ctx_struct::ext_cache"]
[::std::mem::offset_of!(ca_ctx_struct, ext_cache) - 0usize];
["Offset of field: ca_ctx_struct::field_cache"]
[::std::mem::offset_of!(ca_ctx_struct, field_cache) - 40usize];
["Offset of field: ca_ctx_struct::field_qq"]
[::std::mem::offset_of!(ca_ctx_struct, field_qq) - 80usize];
["Offset of field: ca_ctx_struct::field_qq_i"]
[::std::mem::offset_of!(ca_ctx_struct, field_qq_i) - 88usize];
["Offset of field: ca_ctx_struct::mctx"][::std::mem::offset_of!(ca_ctx_struct, mctx) - 96usize];
["Offset of field: ca_ctx_struct::mctx_len"]
[::std::mem::offset_of!(ca_ctx_struct, mctx_len) - 104usize];
["Offset of field: ca_ctx_struct::options"]
[::std::mem::offset_of!(ca_ctx_struct, options) - 112usize];
};
impl Default for ca_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 ca_ctx_t = [ca_ctx_struct; 1usize];
#[repr(C)]
pub struct ca_factor_struct {
pub base: ca_ptr,
pub exp: ca_ptr,
pub length: slong,
pub alloc: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_factor_struct"][::std::mem::size_of::<ca_factor_struct>() - 32usize];
["Alignment of ca_factor_struct"][::std::mem::align_of::<ca_factor_struct>() - 8usize];
["Offset of field: ca_factor_struct::base"]
[::std::mem::offset_of!(ca_factor_struct, base) - 0usize];
["Offset of field: ca_factor_struct::exp"]
[::std::mem::offset_of!(ca_factor_struct, exp) - 8usize];
["Offset of field: ca_factor_struct::length"]
[::std::mem::offset_of!(ca_factor_struct, length) - 16usize];
["Offset of field: ca_factor_struct::alloc"]
[::std::mem::offset_of!(ca_factor_struct, alloc) - 24usize];
};
impl Default for ca_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 ca_factor_t = [ca_factor_struct; 1usize];
#[repr(C)]
pub struct ca_vec_struct {
pub entries: ca_ptr,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_vec_struct"][::std::mem::size_of::<ca_vec_struct>() - 24usize];
["Alignment of ca_vec_struct"][::std::mem::align_of::<ca_vec_struct>() - 8usize];
["Offset of field: ca_vec_struct::entries"]
[::std::mem::offset_of!(ca_vec_struct, entries) - 0usize];
["Offset of field: ca_vec_struct::alloc"]
[::std::mem::offset_of!(ca_vec_struct, alloc) - 8usize];
["Offset of field: ca_vec_struct::length"]
[::std::mem::offset_of!(ca_vec_struct, length) - 16usize];
};
impl Default for ca_vec_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 ca_vec_t = [ca_vec_struct; 1usize];
#[repr(C)]
pub struct ca_mat_struct {
pub entries: ca_ptr,
pub r: slong,
pub c: slong,
pub stride: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_mat_struct"][::std::mem::size_of::<ca_mat_struct>() - 32usize];
["Alignment of ca_mat_struct"][::std::mem::align_of::<ca_mat_struct>() - 8usize];
["Offset of field: ca_mat_struct::entries"]
[::std::mem::offset_of!(ca_mat_struct, entries) - 0usize];
["Offset of field: ca_mat_struct::r"][::std::mem::offset_of!(ca_mat_struct, r) - 8usize];
["Offset of field: ca_mat_struct::c"][::std::mem::offset_of!(ca_mat_struct, c) - 16usize];
["Offset of field: ca_mat_struct::stride"]
[::std::mem::offset_of!(ca_mat_struct, stride) - 24usize];
};
impl Default for ca_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 ca_mat_t = [ca_mat_struct; 1usize];
#[repr(C)]
pub struct ca_poly_struct {
pub coeffs: *mut ca_struct,
pub alloc: slong,
pub length: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of ca_poly_struct"][::std::mem::size_of::<ca_poly_struct>() - 24usize];
["Alignment of ca_poly_struct"][::std::mem::align_of::<ca_poly_struct>() - 8usize];
["Offset of field: ca_poly_struct::coeffs"]
[::std::mem::offset_of!(ca_poly_struct, coeffs) - 0usize];
["Offset of field: ca_poly_struct::alloc"]
[::std::mem::offset_of!(ca_poly_struct, alloc) - 8usize];
["Offset of field: ca_poly_struct::length"]
[::std::mem::offset_of!(ca_poly_struct, length) - 16usize];
};
impl Default for ca_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 ca_poly_t = [ca_poly_struct; 1usize];