Skip to main content

flint_sys/
bernoulli.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3use crate::deps::*;
4use crate::arb_types::*;
5use crate::flint::*;
6
7
8pub const BERNOULLI_REV_MIN: u32 = 32;
9#[repr(C)]
10pub struct bernoulli_rev_struct {
11    pub alloc: slong,
12    pub prec: slong,
13    pub max_power: slong,
14    pub powers: *mut fmpz,
15    pub pow_error: fmpz_t,
16    pub prefactor: arb_t,
17    pub two_pi_squared: arb_t,
18    pub n: ulong,
19}
20#[allow(clippy::unnecessary_operation, clippy::identity_op)]
21const _: () = {
22    ["Size of bernoulli_rev_struct"][::std::mem::size_of::<bernoulli_rev_struct>() - 144usize];
23    ["Alignment of bernoulli_rev_struct"][::std::mem::align_of::<bernoulli_rev_struct>() - 8usize];
24    ["Offset of field: bernoulli_rev_struct::alloc"]
25        [::std::mem::offset_of!(bernoulli_rev_struct, alloc) - 0usize];
26    ["Offset of field: bernoulli_rev_struct::prec"]
27        [::std::mem::offset_of!(bernoulli_rev_struct, prec) - 8usize];
28    ["Offset of field: bernoulli_rev_struct::max_power"]
29        [::std::mem::offset_of!(bernoulli_rev_struct, max_power) - 16usize];
30    ["Offset of field: bernoulli_rev_struct::powers"]
31        [::std::mem::offset_of!(bernoulli_rev_struct, powers) - 24usize];
32    ["Offset of field: bernoulli_rev_struct::pow_error"]
33        [::std::mem::offset_of!(bernoulli_rev_struct, pow_error) - 32usize];
34    ["Offset of field: bernoulli_rev_struct::prefactor"]
35        [::std::mem::offset_of!(bernoulli_rev_struct, prefactor) - 40usize];
36    ["Offset of field: bernoulli_rev_struct::two_pi_squared"]
37        [::std::mem::offset_of!(bernoulli_rev_struct, two_pi_squared) - 88usize];
38    ["Offset of field: bernoulli_rev_struct::n"]
39        [::std::mem::offset_of!(bernoulli_rev_struct, n) - 136usize];
40};
41impl Default for bernoulli_rev_struct {
42    fn default() -> Self {
43        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
44        unsafe {
45            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
46            s.assume_init()
47        }
48    }
49}
50pub type bernoulli_rev_t = [bernoulli_rev_struct; 1usize];
51extern "C" {
52    pub static mut bernoulli_cache_num: slong;
53    pub static mut bernoulli_cache: *mut fmpq;
54    pub fn bernoulli_cache_compute(n: slong);
55    #[link_name = "bernoulli_denom_size__extern"]
56    pub fn bernoulli_denom_size(n: slong) -> slong;
57    #[link_name = "bernoulli_zeta_terms__extern"]
58    pub fn bernoulli_zeta_terms(s: ulong, prec: slong) -> slong;
59    #[link_name = "bernoulli_power_prec__extern"]
60    pub fn bernoulli_power_prec(i: slong, s1: ulong, wp: slong) -> slong;
61    #[link_name = "bernoulli_global_prec__extern"]
62    pub fn bernoulli_global_prec(nmax: ulong) -> slong;
63    pub fn bernoulli_rev_init(iter: *mut bernoulli_rev_struct, nmax: ulong);
64    pub fn bernoulli_rev_next(numer: *mut fmpz, denom: *mut fmpz, iter: *mut bernoulli_rev_struct);
65    pub fn bernoulli_rev_clear(iter: *mut bernoulli_rev_struct);
66    pub fn bernoulli_fmpq_vec_no_cache(res: *mut fmpq, a: ulong, num: slong);
67    pub fn bernoulli_bound_2exp_si(n: ulong) -> slong;
68    pub fn bernoulli_mod_p_harvey(k: ulong, p: ulong) -> ulong;
69    pub fn _bernoulli_fmpq_ui_multi_mod(num: *mut fmpz, den: *mut fmpz, n: ulong, alpha: f64);
70    pub fn _bernoulli_fmpq_ui_zeta(num: *mut fmpz, den: *mut fmpz, n: ulong);
71    pub fn _bernoulli_fmpq_ui(num: *mut fmpz, den: *mut fmpz, n: ulong);
72    pub fn bernoulli_fmpq_ui(b: *mut fmpq, n: ulong);
73}