use crate::deps::*;
use crate::flint::*;
use crate::gr_types::*;
pub const NFLOAT_MIN_LIMBS: u32 = 1;
pub const NFLOAT_MAX_LIMBS: u32 = 66;
pub const NFLOAT_HEADER_LIMBS: u32 = 2;
pub const NFLOAT_MAX_ALLOC: u32 = 68;
pub const NFLOAT_ALLOW_UNDERFLOW: u32 = 1;
pub const NFLOAT_ALLOW_INF: u32 = 2;
pub const NFLOAT_ALLOW_NAN: u32 = 4;
pub const NFLOAT_RND_FLOOR: u32 = 8;
pub const NFLOAT_RND_CEIL: u32 = 16;
#[repr(C)]
pub struct _nfloat_ctx_struct {
pub nlimbs: slong,
pub flags: libc::c_int,
pub rnd: libc::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of _nfloat_ctx_struct"][::std::mem::size_of::<_nfloat_ctx_struct>() - 16usize];
["Alignment of _nfloat_ctx_struct"][::std::mem::align_of::<_nfloat_ctx_struct>() - 8usize];
["Offset of field: _nfloat_ctx_struct::nlimbs"]
[::std::mem::offset_of!(_nfloat_ctx_struct, nlimbs) - 0usize];
["Offset of field: _nfloat_ctx_struct::flags"]
[::std::mem::offset_of!(_nfloat_ctx_struct, flags) - 8usize];
["Offset of field: _nfloat_ctx_struct::rnd"]
[::std::mem::offset_of!(_nfloat_ctx_struct, rnd) - 12usize];
};
impl Default for _nfloat_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 nfloat_ptr = *mut libc::c_void;
pub type nfloat_srcptr = *const libc::c_void;
#[repr(C)]
pub struct nfloat64_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 1usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat64_struct"][::std::mem::size_of::<nfloat64_struct>() - 24usize];
["Alignment of nfloat64_struct"][::std::mem::align_of::<nfloat64_struct>() - 8usize];
["Offset of field: nfloat64_struct::head"]
[::std::mem::offset_of!(nfloat64_struct, head) - 0usize];
["Offset of field: nfloat64_struct::d"][::std::mem::offset_of!(nfloat64_struct, d) - 16usize];
};
impl Default for nfloat64_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 nfloat128_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 2usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat128_struct"][::std::mem::size_of::<nfloat128_struct>() - 32usize];
["Alignment of nfloat128_struct"][::std::mem::align_of::<nfloat128_struct>() - 8usize];
["Offset of field: nfloat128_struct::head"]
[::std::mem::offset_of!(nfloat128_struct, head) - 0usize];
["Offset of field: nfloat128_struct::d"][::std::mem::offset_of!(nfloat128_struct, d) - 16usize];
};
impl Default for nfloat128_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 nfloat192_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 3usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat192_struct"][::std::mem::size_of::<nfloat192_struct>() - 40usize];
["Alignment of nfloat192_struct"][::std::mem::align_of::<nfloat192_struct>() - 8usize];
["Offset of field: nfloat192_struct::head"]
[::std::mem::offset_of!(nfloat192_struct, head) - 0usize];
["Offset of field: nfloat192_struct::d"][::std::mem::offset_of!(nfloat192_struct, d) - 16usize];
};
impl Default for nfloat192_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 nfloat256_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 4usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat256_struct"][::std::mem::size_of::<nfloat256_struct>() - 48usize];
["Alignment of nfloat256_struct"][::std::mem::align_of::<nfloat256_struct>() - 8usize];
["Offset of field: nfloat256_struct::head"]
[::std::mem::offset_of!(nfloat256_struct, head) - 0usize];
["Offset of field: nfloat256_struct::d"][::std::mem::offset_of!(nfloat256_struct, d) - 16usize];
};
impl Default for nfloat256_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 nfloat384_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 6usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat384_struct"][::std::mem::size_of::<nfloat384_struct>() - 64usize];
["Alignment of nfloat384_struct"][::std::mem::align_of::<nfloat384_struct>() - 8usize];
["Offset of field: nfloat384_struct::head"]
[::std::mem::offset_of!(nfloat384_struct, head) - 0usize];
["Offset of field: nfloat384_struct::d"][::std::mem::offset_of!(nfloat384_struct, d) - 16usize];
};
impl Default for nfloat384_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 nfloat512_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 8usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat512_struct"][::std::mem::size_of::<nfloat512_struct>() - 80usize];
["Alignment of nfloat512_struct"][::std::mem::align_of::<nfloat512_struct>() - 8usize];
["Offset of field: nfloat512_struct::head"]
[::std::mem::offset_of!(nfloat512_struct, head) - 0usize];
["Offset of field: nfloat512_struct::d"][::std::mem::offset_of!(nfloat512_struct, d) - 16usize];
};
impl Default for nfloat512_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 nfloat1024_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 16usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat1024_struct"][::std::mem::size_of::<nfloat1024_struct>() - 144usize];
["Alignment of nfloat1024_struct"][::std::mem::align_of::<nfloat1024_struct>() - 8usize];
["Offset of field: nfloat1024_struct::head"]
[::std::mem::offset_of!(nfloat1024_struct, head) - 0usize];
["Offset of field: nfloat1024_struct::d"]
[::std::mem::offset_of!(nfloat1024_struct, d) - 16usize];
};
impl Default for nfloat1024_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 nfloat2048_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 32usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat2048_struct"][::std::mem::size_of::<nfloat2048_struct>() - 272usize];
["Alignment of nfloat2048_struct"][::std::mem::align_of::<nfloat2048_struct>() - 8usize];
["Offset of field: nfloat2048_struct::head"]
[::std::mem::offset_of!(nfloat2048_struct, head) - 0usize];
["Offset of field: nfloat2048_struct::d"]
[::std::mem::offset_of!(nfloat2048_struct, d) - 16usize];
};
impl Default for nfloat2048_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 nfloat4096_struct {
pub head: [ulong; 2usize],
pub d: [ulong; 64usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of nfloat4096_struct"][::std::mem::size_of::<nfloat4096_struct>() - 528usize];
["Alignment of nfloat4096_struct"][::std::mem::align_of::<nfloat4096_struct>() - 8usize];
["Offset of field: nfloat4096_struct::head"]
[::std::mem::offset_of!(nfloat4096_struct, head) - 0usize];
["Offset of field: nfloat4096_struct::d"]
[::std::mem::offset_of!(nfloat4096_struct, d) - 16usize];
};
impl Default for nfloat4096_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 nfloat64_t = [nfloat64_struct; 1usize];
pub type nfloat128_t = [nfloat128_struct; 1usize];
pub type nfloat192_t = [nfloat192_struct; 1usize];
pub type nfloat256_t = [nfloat256_struct; 1usize];
pub type nfloat384_t = [nfloat384_struct; 1usize];
pub type nfloat512_t = [nfloat512_struct; 1usize];
pub type nfloat1024_t = [nfloat1024_struct; 1usize];
pub type nfloat2048_t = [nfloat2048_struct; 1usize];
pub type nfloat4096_t = [nfloat4096_struct; 1usize];
pub type nfloat_complex_ptr = nfloat_ptr;
pub type nfloat_complex_srcptr = nfloat_srcptr;
extern "C" {
pub fn nfloat_ctx_init(ctx: *mut gr_ctx_struct, prec: slong, flags: libc::c_int)
-> libc::c_int;
pub fn nfloat_ctx_write(out: *mut gr_stream_struct, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "nfloat_init__extern"]
pub fn nfloat_init(res: nfloat_ptr, ctx: *mut gr_ctx_struct);
#[link_name = "nfloat_clear__extern"]
pub fn nfloat_clear(res: nfloat_ptr, ctx: *mut gr_ctx_struct);
pub fn nfloat_swap(x: nfloat_ptr, y: nfloat_ptr, ctx: *mut gr_ctx_struct);
pub fn nfloat_set(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_equal(x: nfloat_srcptr, y: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
#[link_name = "nfloat_ctx_set_real_prec__extern"]
pub fn nfloat_ctx_set_real_prec(ctx: *mut gr_ctx_struct, prec: slong) -> libc::c_int;
#[link_name = "nfloat_ctx_get_real_prec__extern"]
pub fn nfloat_ctx_get_real_prec(res: *mut slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "nfloat_zero__extern"]
pub fn nfloat_zero(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_pos_inf(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_neg_inf(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_nan(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _nfloat_underflow(
res: nfloat_ptr,
sgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_overflow(
res: nfloat_ptr,
sgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_one(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_neg_one(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
#[link_name = "nfloat_is_zero__extern"]
pub fn nfloat_is_zero(x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn nfloat_is_one(x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn nfloat_is_neg_one(x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn nfloat_set_ui(res: nfloat_ptr, x: ulong, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_set_si(res: nfloat_ptr, x: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _nfloat_set_mpn_2exp(
res: nfloat_ptr,
x: nn_srcptr,
xn: slong,
exp: slong,
xsgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "nfloat_set_mpn_2exp__extern"]
pub fn nfloat_set_mpn_2exp(
res: nfloat_ptr,
x: nn_srcptr,
xn: slong,
exp: slong,
xsgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "nfloat_1_set_2_2exp__extern"]
pub fn nfloat_1_set_2_2exp(
res: nfloat_ptr,
x1: ulong,
x0: ulong,
exp: slong,
xsgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "nfloat_1_set_3_2exp__extern"]
pub fn nfloat_1_set_3_2exp(
res: nfloat_ptr,
x2: ulong,
x1: ulong,
x0: ulong,
exp: slong,
xsgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "nfloat_2_set_3_2exp__extern"]
pub fn nfloat_2_set_3_2exp(
res: nfloat_ptr,
x2: ulong,
x1: ulong,
x0: ulong,
exp: slong,
xsgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
#[link_name = "nfloat_2_set_4_2exp__extern"]
pub fn nfloat_2_set_4_2exp(
res: nfloat_ptr,
x3: ulong,
x2: ulong,
x1: ulong,
x0: ulong,
exp: slong,
xsgnbit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_set_fmpz(res: nfloat_ptr, x: *const fmpz, ctx: *mut gr_ctx_struct)
-> libc::c_int;
pub fn nfloat_get_d_2exp_si(
mant: *mut f64,
expo: *mut slong,
x: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_get_fmpz(
res: *mut fmpz,
x: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_set_fmpq(res: nfloat_ptr, v: *const fmpq, ctx: *mut gr_ctx_struct)
-> libc::c_int;
pub fn nfloat_set_d(res: nfloat_ptr, x: f64, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_set_str(
res: nfloat_ptr,
x: *const libc::c_char,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_set_other(
res: nfloat_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_write(
out: *mut gr_stream_struct,
x: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_randtest(
res: nfloat_ptr,
state: *mut flint_rand_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_neg(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_abs(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _nfloat_cmp(x: nfloat_srcptr, y: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _nfloat_cmpabs(
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_cmp(
res: *mut libc::c_int,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_cmpabs(
res: *mut libc::c_int,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_sgn(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_im(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _nfloat_add_1(
res: nfloat_ptr,
x0: ulong,
xexp: slong,
xsgnbit: libc::c_int,
y0: ulong,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_sub_1(
res: nfloat_ptr,
x0: ulong,
xexp: slong,
xsgnbit: libc::c_int,
y0: ulong,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_add_2(
res: nfloat_ptr,
xd: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
yd: nn_srcptr,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_sub_2(
res: nfloat_ptr,
xd: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
yd: nn_srcptr,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_add_3(
res: nfloat_ptr,
x: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
y: nn_srcptr,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_sub_3(
res: nfloat_ptr,
x: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
y: nn_srcptr,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_add_4(
res: nfloat_ptr,
x: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
y: nn_srcptr,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_sub_4(
res: nfloat_ptr,
x: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
y: nn_srcptr,
delta: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_add_n(
res: nfloat_ptr,
xd: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
yd: nn_srcptr,
delta: slong,
nlimbs: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_sub_n(
res: nfloat_ptr,
xd: nn_srcptr,
xexp: slong,
xsgnbit: libc::c_int,
yd: nn_srcptr,
delta: slong,
nlimbs: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_add(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_sub(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mul(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_addmul(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_submul(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_sqr(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_mul_2exp_si(
res: nfloat_ptr,
x: nfloat_srcptr,
y: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_inv(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_div(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_div_ui(
res: nfloat_ptr,
x: nfloat_srcptr,
y: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_div_si(
res: nfloat_ptr,
x: nfloat_srcptr,
y: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_sqrt(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_rsqrt(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_floor(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_ceil(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_trunc(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_nint(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_pi(res: nfloat_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_pow(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_exp(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_expm1(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_log(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_log1p(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_sin(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_cos(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_tan(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_sinh(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_cosh(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_tanh(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_atan(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_gamma(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_zeta(res: nfloat_ptr, x: nfloat_srcptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _nfloat_vec_init(res: nfloat_ptr, len: slong, ctx: *mut gr_ctx_struct);
pub fn _nfloat_vec_clear(res: nfloat_ptr, len: slong, ctx: *mut gr_ctx_struct);
pub fn _nfloat_vec_set(
res: nfloat_ptr,
x: nfloat_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_zero(res: nfloat_ptr, len: slong, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn _nfloat_vec_add(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_sub(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_mul(
res: nfloat_ptr,
x: nfloat_srcptr,
y: nfloat_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_mul_scalar(
res: nfloat_ptr,
x: nfloat_srcptr,
len: slong,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_addmul_scalar(
res: nfloat_ptr,
x: nfloat_srcptr,
len: slong,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_submul_scalar(
res: nfloat_ptr,
x: nfloat_srcptr,
len: slong,
y: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_dot(
res: nfloat_ptr,
initial: nfloat_srcptr,
subtract: libc::c_int,
x: nfloat_srcptr,
y: nfloat_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_vec_dot_rev(
res: nfloat_ptr,
initial: nfloat_srcptr,
subtract: libc::c_int,
x: nfloat_srcptr,
y: nfloat_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mat_mul_fixed(
C: *mut gr_mat_struct,
A: *const gr_mat_struct,
B: *const gr_mat_struct,
max_extra_prec: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mat_mul_block(
C: *mut gr_mat_struct,
A: *const gr_mat_struct,
B: *const gr_mat_struct,
min_block_size: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mat_mul(
C: *mut gr_mat_struct,
A: *const gr_mat_struct,
B: *const gr_mat_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mat_nonsingular_solve_tril(
X: *mut gr_mat_struct,
L: *const gr_mat_struct,
B: *const gr_mat_struct,
unit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mat_nonsingular_solve_triu(
X: *mut gr_mat_struct,
L: *const gr_mat_struct,
B: *const gr_mat_struct,
unit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mat_lu(
rank: *mut slong,
P: *mut slong,
LU: *mut gr_mat_struct,
A: *const gr_mat_struct,
rank_check: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_mat_lq(
L: *mut gr_mat_struct,
Q: *mut gr_mat_struct,
A: *const gr_mat_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_ctx_init(
ctx: *mut gr_ctx_struct,
prec: slong,
flags: libc::c_int,
) -> libc::c_int;
#[link_name = "nfloat_complex_init__extern"]
pub fn nfloat_complex_init(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct);
#[link_name = "nfloat_complex_clear__extern"]
pub fn nfloat_complex_clear(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct);
#[link_name = "nfloat_complex_zero__extern"]
pub fn nfloat_complex_zero(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_complex_write(
out: *mut gr_stream_struct,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_randtest(
res: nfloat_complex_ptr,
state: *mut flint_rand_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_swap(
x: nfloat_complex_ptr,
y: nfloat_complex_ptr,
ctx: *mut gr_ctx_struct,
);
pub fn nfloat_complex_set(
res: nfloat_complex_ptr,
x: nfloat_complex_ptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_one(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_complex_neg_one(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_complex_is_zero(x: nfloat_complex_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn nfloat_complex_is_one(x: nfloat_complex_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn nfloat_complex_is_neg_one(x: nfloat_complex_srcptr, ctx: *mut gr_ctx_struct) -> truth_t;
pub fn nfloat_complex_i(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_complex_pi(res: nfloat_complex_ptr, ctx: *mut gr_ctx_struct) -> libc::c_int;
pub fn nfloat_complex_conj(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_re(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_im(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_equal(
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> truth_t;
pub fn nfloat_complex_set_si(
res: nfloat_complex_ptr,
x: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_set_ui(
res: nfloat_complex_ptr,
x: ulong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_set_fmpz(
res: nfloat_complex_ptr,
x: *const fmpz,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_set_fmpq(
res: nfloat_complex_ptr,
x: *const fmpq,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_set_d(
res: nfloat_complex_ptr,
x: f64,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_set_other(
res: nfloat_complex_ptr,
x: gr_srcptr,
x_ctx: *mut gr_ctx_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_neg(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_add(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_sub(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_sqr_naive(
res1: nfloat_ptr,
res2: nfloat_ptr,
a: nfloat_srcptr,
b: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_sqr_standard(
res1: nfloat_ptr,
res2: nfloat_ptr,
a: nfloat_srcptr,
b: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_sqr_karatsuba(
res1: nfloat_ptr,
res2: nfloat_ptr,
a: nfloat_srcptr,
b: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_sqr(
res1: nfloat_ptr,
res2: nfloat_ptr,
a: nfloat_srcptr,
b: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_sqr(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_mul_naive(
res1: nfloat_ptr,
res2: nfloat_ptr,
a: nfloat_srcptr,
b: nfloat_srcptr,
c: nfloat_srcptr,
d: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_mul_standard(
res1: nfloat_ptr,
res2: nfloat_ptr,
a: nfloat_srcptr,
b: nfloat_srcptr,
c: nfloat_srcptr,
d: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_mul_karatsuba(
res1: nfloat_ptr,
res2: nfloat_ptr,
a: nfloat_srcptr,
b: nfloat_srcptr,
c: nfloat_srcptr,
d: nfloat_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mul(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_inv(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_div(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mul_2exp_si(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
y: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_cmp(
res: *mut libc::c_int,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_cmpabs(
res: *mut libc::c_int,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_abs(
res: nfloat_ptr,
x: nfloat_complex_srcptr,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_vec_init(res: nfloat_complex_ptr, len: slong, ctx: *mut gr_ctx_struct);
pub fn _nfloat_complex_vec_clear(res: nfloat_complex_ptr, len: slong, ctx: *mut gr_ctx_struct);
pub fn _nfloat_complex_vec_zero(
res: nfloat_complex_ptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_vec_set(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_vec_add(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_vec_sub(
res: nfloat_complex_ptr,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_vec_dot(
res: nfloat_complex_ptr,
initial: nfloat_complex_srcptr,
subtract: libc::c_int,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfloat_complex_vec_dot_rev(
res: nfloat_complex_ptr,
initial: nfloat_complex_srcptr,
subtract: libc::c_int,
x: nfloat_complex_srcptr,
y: nfloat_complex_srcptr,
len: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mat_mul_fixed(
C: *mut gr_mat_struct,
A: *const gr_mat_struct,
B: *const gr_mat_struct,
max_extra_prec: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mat_mul_block(
C: *mut gr_mat_struct,
A: *const gr_mat_struct,
B: *const gr_mat_struct,
min_block_size: slong,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mat_mul_reorder(
C: *mut gr_mat_struct,
A: *const gr_mat_struct,
B: *const gr_mat_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mat_mul(
C: *mut gr_mat_struct,
A: *const gr_mat_struct,
B: *const gr_mat_struct,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mat_nonsingular_solve_tril(
X: *mut gr_mat_struct,
L: *const gr_mat_struct,
B: *const gr_mat_struct,
unit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mat_nonsingular_solve_triu(
X: *mut gr_mat_struct,
L: *const gr_mat_struct,
B: *const gr_mat_struct,
unit: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn nfloat_complex_mat_lu(
rank: *mut slong,
P: *mut slong,
LU: *mut gr_mat_struct,
A: *const gr_mat_struct,
rank_check: libc::c_int,
ctx: *mut gr_ctx_struct,
) -> libc::c_int;
pub fn _nfixed_print(x: nn_srcptr, nlimbs: slong, exp: slong);
pub fn _nfixed_vec_add(res: nn_ptr, a: nn_srcptr, b: nn_srcptr, len: slong, nlimbs: slong);
pub fn _nfixed_vec_sub(res: nn_ptr, a: nn_srcptr, b: nn_srcptr, len: slong, nlimbs: slong);
pub fn _nfixed_dot_2(
res: nn_ptr,
x: nn_srcptr,
xstride: slong,
y: nn_srcptr,
ystride: slong,
len: slong,
);
pub fn _nfixed_dot_3(
res: nn_ptr,
x: nn_srcptr,
xstride: slong,
y: nn_srcptr,
ystride: slong,
len: slong,
);
pub fn _nfixed_dot_4(
res: nn_ptr,
x: nn_srcptr,
xstride: slong,
y: nn_srcptr,
ystride: slong,
len: slong,
);
pub fn _nfixed_dot_5(
res: nn_ptr,
x: nn_srcptr,
xstride: slong,
y: nn_srcptr,
ystride: slong,
len: slong,
);
pub fn _nfixed_dot_6(
res: nn_ptr,
x: nn_srcptr,
xstride: slong,
y: nn_srcptr,
ystride: slong,
len: slong,
);
pub fn _nfixed_dot_7(
res: nn_ptr,
x: nn_srcptr,
xstride: slong,
y: nn_srcptr,
ystride: slong,
len: slong,
);
pub fn _nfixed_dot_8(
res: nn_ptr,
x: nn_srcptr,
xstride: slong,
y: nn_srcptr,
ystride: slong,
len: slong,
);
pub fn _nfixed_mat_mul_classical_precise(
C: nn_ptr,
A: nn_srcptr,
B: nn_srcptr,
m: slong,
n: slong,
p: slong,
nlimbs: slong,
);
pub fn _nfixed_mat_mul_classical(
C: nn_ptr,
A: nn_srcptr,
B: nn_srcptr,
m: slong,
n: slong,
p: slong,
nlimbs: slong,
);
pub fn _nfixed_mat_mul_waksman(
C: nn_ptr,
A: nn_srcptr,
B: nn_srcptr,
m: slong,
n: slong,
p: slong,
nlimbs: slong,
);
pub fn _nfixed_mat_mul_strassen(
C: nn_ptr,
A: nn_srcptr,
B: nn_srcptr,
m: slong,
n: slong,
p: slong,
cutoff: slong,
nlimbs: slong,
);
pub fn _nfixed_mat_mul(
C: nn_ptr,
A: nn_srcptr,
B: nn_srcptr,
m: slong,
n: slong,
p: slong,
nlimbs: slong,
);
pub fn _nfixed_mat_mul_bound_classical(
bound: *mut f64,
error: *mut f64,
m: slong,
n: slong,
p: slong,
A: f64,
B: f64,
nlimbs: slong,
);
pub fn _nfixed_mat_mul_bound_waksman(
bound: *mut f64,
error: *mut f64,
m: slong,
n: slong,
p: slong,
A: f64,
B: f64,
nlimbs: slong,
);
pub fn _nfixed_mat_mul_bound_strassen(
bound: *mut f64,
error: *mut f64,
m: slong,
n: slong,
p: slong,
A: f64,
B: f64,
cutoff: slong,
nlimbs: slong,
);
pub fn _nfixed_mat_mul_bound(
bound: *mut f64,
error: *mut f64,
m: slong,
n: slong,
p: slong,
A: f64,
B: f64,
nlimbs: slong,
);
pub fn _nfixed_complex_mat_mul_bound(
bound: *mut f64,
error: *mut f64,
m: slong,
n: slong,
p: slong,
A: f64,
B: f64,
C: f64,
D: f64,
nlimbs: slong,
);
}