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


pub const D_BITS: u32 = 53;
pub const D_MIN_NORMAL_EXPONENT: i32 = -1022;
pub const D_MAX_NORMAL_EXPONENT: u32 = 1023;
pub const D_EXPONENT_BIAS: u32 = 1023;
pub const D_EXPONENT_SHIFT: u32 = 52;
#[repr(C)]
#[derive(Copy, Clone)]
pub union double_uint64_u {
    pub f: f64,
    pub i: u64,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of double_uint64_u"][::std::mem::size_of::<double_uint64_u>() - 8usize];
    ["Alignment of double_uint64_u"][::std::mem::align_of::<double_uint64_u>() - 8usize];
    ["Offset of field: double_uint64_u::f"][::std::mem::offset_of!(double_uint64_u, f) - 0usize];
    ["Offset of field: double_uint64_u::i"][::std::mem::offset_of!(double_uint64_u, i) - 0usize];
};
impl Default for double_uint64_u {
    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()
        }
    }
}
extern "C" {
    pub fn d_randtest(state: *mut flint_rand_struct) -> f64;
    pub fn d_randtest_signed(state: *mut flint_rand_struct, minexp: slong, maxexp: slong) -> f64;
    pub fn d_randtest_special(state: *mut flint_rand_struct, minexp: slong, maxexp: slong) -> f64;
    #[link_name = "d_polyval__extern"]
    pub fn d_polyval(poly: *const f64, len: libc::c_int, x: f64) -> f64;
    pub fn d_lambertw(x: f64) -> f64;
    #[link_name = "d_is_nan__extern"]
    pub fn d_is_nan(x: f64) -> libc::c_int;
    pub fn d_log2(x: f64) -> f64;
    #[link_name = "d_mul_2exp_inrange__extern"]
    pub fn d_mul_2exp_inrange(x: f64, i: libc::c_int) -> f64;
    #[link_name = "d_mul_2exp_inrange2__extern"]
    pub fn d_mul_2exp_inrange2(x: f64, i: libc::c_int) -> f64;
    #[link_name = "d_mul_2exp__extern"]
    pub fn d_mul_2exp(x: f64, i: libc::c_int) -> f64;
}