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::arb_types::*;
use crate::flint::*;


pub const BERNOULLI_REV_MIN: u32 = 32;
#[repr(C)]
pub struct bernoulli_rev_struct {
    pub alloc: slong,
    pub prec: slong,
    pub max_power: slong,
    pub powers: *mut fmpz,
    pub pow_error: fmpz_t,
    pub prefactor: arb_t,
    pub two_pi_squared: arb_t,
    pub n: ulong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of bernoulli_rev_struct"][::std::mem::size_of::<bernoulli_rev_struct>() - 144usize];
    ["Alignment of bernoulli_rev_struct"][::std::mem::align_of::<bernoulli_rev_struct>() - 8usize];
    ["Offset of field: bernoulli_rev_struct::alloc"]
        [::std::mem::offset_of!(bernoulli_rev_struct, alloc) - 0usize];
    ["Offset of field: bernoulli_rev_struct::prec"]
        [::std::mem::offset_of!(bernoulli_rev_struct, prec) - 8usize];
    ["Offset of field: bernoulli_rev_struct::max_power"]
        [::std::mem::offset_of!(bernoulli_rev_struct, max_power) - 16usize];
    ["Offset of field: bernoulli_rev_struct::powers"]
        [::std::mem::offset_of!(bernoulli_rev_struct, powers) - 24usize];
    ["Offset of field: bernoulli_rev_struct::pow_error"]
        [::std::mem::offset_of!(bernoulli_rev_struct, pow_error) - 32usize];
    ["Offset of field: bernoulli_rev_struct::prefactor"]
        [::std::mem::offset_of!(bernoulli_rev_struct, prefactor) - 40usize];
    ["Offset of field: bernoulli_rev_struct::two_pi_squared"]
        [::std::mem::offset_of!(bernoulli_rev_struct, two_pi_squared) - 88usize];
    ["Offset of field: bernoulli_rev_struct::n"]
        [::std::mem::offset_of!(bernoulli_rev_struct, n) - 136usize];
};
impl Default for bernoulli_rev_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 bernoulli_rev_t = [bernoulli_rev_struct; 1usize];
extern "C" {
    pub static mut bernoulli_cache_num: slong;
    pub static mut bernoulli_cache: *mut fmpq;
    pub fn bernoulli_cache_compute(n: slong);
    #[link_name = "bernoulli_denom_size__extern"]
    pub fn bernoulli_denom_size(n: slong) -> slong;
    #[link_name = "bernoulli_zeta_terms__extern"]
    pub fn bernoulli_zeta_terms(s: ulong, prec: slong) -> slong;
    #[link_name = "bernoulli_power_prec__extern"]
    pub fn bernoulli_power_prec(i: slong, s1: ulong, wp: slong) -> slong;
    #[link_name = "bernoulli_global_prec__extern"]
    pub fn bernoulli_global_prec(nmax: ulong) -> slong;
    pub fn bernoulli_rev_init(iter: *mut bernoulli_rev_struct, nmax: ulong);
    pub fn bernoulli_rev_next(numer: *mut fmpz, denom: *mut fmpz, iter: *mut bernoulli_rev_struct);
    pub fn bernoulli_rev_clear(iter: *mut bernoulli_rev_struct);
    pub fn bernoulli_fmpq_vec_no_cache(res: *mut fmpq, a: ulong, num: slong);
    pub fn bernoulli_bound_2exp_si(n: ulong) -> slong;
    pub fn bernoulli_mod_p_harvey(k: ulong, p: ulong) -> ulong;
    pub fn _bernoulli_fmpq_ui_multi_mod(num: *mut fmpz, den: *mut fmpz, n: ulong, alpha: f64);
    pub fn _bernoulli_fmpq_ui_zeta(num: *mut fmpz, den: *mut fmpz, n: ulong);
    pub fn _bernoulli_fmpq_ui(num: *mut fmpz, den: *mut fmpz, n: ulong);
    pub fn bernoulli_fmpq_ui(b: *mut fmpq, n: ulong);
}