use crate::deps::*;
use crate::flint::*;
use crate::fmpz_types::*;
#[repr(C)]
pub struct padic_struct {
pub u: fmpz,
pub v: slong,
pub N: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of padic_struct"][::std::mem::size_of::<padic_struct>() - 24usize];
["Alignment of padic_struct"][::std::mem::align_of::<padic_struct>() - 8usize];
["Offset of field: padic_struct::u"][::std::mem::offset_of!(padic_struct, u) - 0usize];
["Offset of field: padic_struct::v"][::std::mem::offset_of!(padic_struct, v) - 8usize];
["Offset of field: padic_struct::N"][::std::mem::offset_of!(padic_struct, N) - 16usize];
};
impl Default for padic_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 padic_t = [padic_struct; 1usize];
pub const padic_print_mode_PADIC_TERSE: padic_print_mode = 0;
pub const padic_print_mode_PADIC_SERIES: padic_print_mode = 1;
pub const padic_print_mode_PADIC_VAL_UNIT: padic_print_mode = 2;
pub type padic_print_mode = libc::c_uint;
#[repr(C)]
pub struct padic_ctx_struct {
pub p: fmpz_t,
pub pinv: f64,
pub pow: *mut fmpz,
pub min: slong,
pub max: slong,
pub mode: padic_print_mode,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of padic_ctx_struct"][::std::mem::size_of::<padic_ctx_struct>() - 48usize];
["Alignment of padic_ctx_struct"][::std::mem::align_of::<padic_ctx_struct>() - 8usize];
["Offset of field: padic_ctx_struct::p"][::std::mem::offset_of!(padic_ctx_struct, p) - 0usize];
["Offset of field: padic_ctx_struct::pinv"]
[::std::mem::offset_of!(padic_ctx_struct, pinv) - 8usize];
["Offset of field: padic_ctx_struct::pow"]
[::std::mem::offset_of!(padic_ctx_struct, pow) - 16usize];
["Offset of field: padic_ctx_struct::min"]
[::std::mem::offset_of!(padic_ctx_struct, min) - 24usize];
["Offset of field: padic_ctx_struct::max"]
[::std::mem::offset_of!(padic_ctx_struct, max) - 32usize];
["Offset of field: padic_ctx_struct::mode"]
[::std::mem::offset_of!(padic_ctx_struct, mode) - 40usize];
};
impl Default for padic_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 padic_ctx_t = [padic_ctx_struct; 1usize];
#[repr(C)]
pub struct padic_inv_struct {
pub n: slong,
pub pow: *mut fmpz,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of padic_inv_struct"][::std::mem::size_of::<padic_inv_struct>() - 16usize];
["Alignment of padic_inv_struct"][::std::mem::align_of::<padic_inv_struct>() - 8usize];
["Offset of field: padic_inv_struct::n"][::std::mem::offset_of!(padic_inv_struct, n) - 0usize];
["Offset of field: padic_inv_struct::pow"]
[::std::mem::offset_of!(padic_inv_struct, pow) - 8usize];
};
impl Default for padic_inv_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 padic_inv_t = [padic_inv_struct; 1usize];
#[repr(C)]
pub struct padic_mat_struct {
pub mat: fmpz_mat_struct,
pub val: slong,
pub N: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of padic_mat_struct"][::std::mem::size_of::<padic_mat_struct>() - 48usize];
["Alignment of padic_mat_struct"][::std::mem::align_of::<padic_mat_struct>() - 8usize];
["Offset of field: padic_mat_struct::mat"]
[::std::mem::offset_of!(padic_mat_struct, mat) - 0usize];
["Offset of field: padic_mat_struct::val"]
[::std::mem::offset_of!(padic_mat_struct, val) - 32usize];
["Offset of field: padic_mat_struct::N"][::std::mem::offset_of!(padic_mat_struct, N) - 40usize];
};
impl Default for padic_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 padic_mat_t = [padic_mat_struct; 1usize];
#[repr(C)]
pub struct padic_poly_struct {
pub coeffs: *mut fmpz,
pub alloc: slong,
pub length: slong,
pub val: slong,
pub N: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of padic_poly_struct"][::std::mem::size_of::<padic_poly_struct>() - 40usize];
["Alignment of padic_poly_struct"][::std::mem::align_of::<padic_poly_struct>() - 8usize];
["Offset of field: padic_poly_struct::coeffs"]
[::std::mem::offset_of!(padic_poly_struct, coeffs) - 0usize];
["Offset of field: padic_poly_struct::alloc"]
[::std::mem::offset_of!(padic_poly_struct, alloc) - 8usize];
["Offset of field: padic_poly_struct::length"]
[::std::mem::offset_of!(padic_poly_struct, length) - 16usize];
["Offset of field: padic_poly_struct::val"]
[::std::mem::offset_of!(padic_poly_struct, val) - 24usize];
["Offset of field: padic_poly_struct::N"]
[::std::mem::offset_of!(padic_poly_struct, N) - 32usize];
};
impl Default for padic_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 padic_poly_t = [padic_poly_struct; 1usize];