use crate::deps::*;
use crate::acb_types::*;
use crate::arb_types::*;
use crate::arf_types::*;
use crate::dirichlet::*;
use crate::flint::*;
#[repr(C)]
pub struct acb_dirichlet_hurwitz_precomp_struct {
pub s: acb_struct,
pub err: mag_struct,
pub coeffs: acb_ptr,
pub deflate: libc::c_int,
pub A: slong,
pub N: slong,
pub K: slong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of acb_dirichlet_hurwitz_precomp_struct"]
[::std::mem::size_of::<acb_dirichlet_hurwitz_precomp_struct>() - 152usize];
["Alignment of acb_dirichlet_hurwitz_precomp_struct"]
[::std::mem::align_of::<acb_dirichlet_hurwitz_precomp_struct>() - 8usize];
["Offset of field: acb_dirichlet_hurwitz_precomp_struct::s"]
[::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, s) - 0usize];
["Offset of field: acb_dirichlet_hurwitz_precomp_struct::err"]
[::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, err) - 96usize];
["Offset of field: acb_dirichlet_hurwitz_precomp_struct::coeffs"]
[::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, coeffs) - 112usize];
["Offset of field: acb_dirichlet_hurwitz_precomp_struct::deflate"]
[::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, deflate) - 120usize];
["Offset of field: acb_dirichlet_hurwitz_precomp_struct::A"]
[::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, A) - 128usize];
["Offset of field: acb_dirichlet_hurwitz_precomp_struct::N"]
[::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, N) - 136usize];
["Offset of field: acb_dirichlet_hurwitz_precomp_struct::K"]
[::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, K) - 144usize];
};
impl Default for acb_dirichlet_hurwitz_precomp_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 acb_dirichlet_hurwitz_precomp_t = [acb_dirichlet_hurwitz_precomp_struct; 1usize];
#[repr(C)]
pub struct acb_dirichlet_roots_struct {
pub order: ulong,
pub reduced_order: ulong,
pub z: acb_t,
pub size: slong,
pub depth: slong,
pub Z: *mut acb_ptr,
pub use_pow: libc::c_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of acb_dirichlet_roots_struct"]
[::std::mem::size_of::<acb_dirichlet_roots_struct>() - 144usize];
["Alignment of acb_dirichlet_roots_struct"]
[::std::mem::align_of::<acb_dirichlet_roots_struct>() - 8usize];
["Offset of field: acb_dirichlet_roots_struct::order"]
[::std::mem::offset_of!(acb_dirichlet_roots_struct, order) - 0usize];
["Offset of field: acb_dirichlet_roots_struct::reduced_order"]
[::std::mem::offset_of!(acb_dirichlet_roots_struct, reduced_order) - 8usize];
["Offset of field: acb_dirichlet_roots_struct::z"]
[::std::mem::offset_of!(acb_dirichlet_roots_struct, z) - 16usize];
["Offset of field: acb_dirichlet_roots_struct::size"]
[::std::mem::offset_of!(acb_dirichlet_roots_struct, size) - 112usize];
["Offset of field: acb_dirichlet_roots_struct::depth"]
[::std::mem::offset_of!(acb_dirichlet_roots_struct, depth) - 120usize];
["Offset of field: acb_dirichlet_roots_struct::Z"]
[::std::mem::offset_of!(acb_dirichlet_roots_struct, Z) - 128usize];
["Offset of field: acb_dirichlet_roots_struct::use_pow"]
[::std::mem::offset_of!(acb_dirichlet_roots_struct, use_pow) - 136usize];
};
impl Default for acb_dirichlet_roots_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 acb_dirichlet_roots_t = [acb_dirichlet_roots_struct; 1usize];
#[repr(C)]
pub struct acb_dirichlet_platt_c_precomp_struct {
pub len: slong,
pub p: arb_ptr,
pub Xa: arb_struct,
pub Xb: arb_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of acb_dirichlet_platt_c_precomp_struct"]
[::std::mem::size_of::<acb_dirichlet_platt_c_precomp_struct>() - 112usize];
["Alignment of acb_dirichlet_platt_c_precomp_struct"]
[::std::mem::align_of::<acb_dirichlet_platt_c_precomp_struct>() - 8usize];
["Offset of field: acb_dirichlet_platt_c_precomp_struct::len"]
[::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, len) - 0usize];
["Offset of field: acb_dirichlet_platt_c_precomp_struct::p"]
[::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, p) - 8usize];
["Offset of field: acb_dirichlet_platt_c_precomp_struct::Xa"]
[::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, Xa) - 16usize];
["Offset of field: acb_dirichlet_platt_c_precomp_struct::Xb"]
[::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, Xb) - 64usize];
};
impl Default for acb_dirichlet_platt_c_precomp_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 acb_dirichlet_platt_c_precomp_t = [acb_dirichlet_platt_c_precomp_struct; 1usize];
#[repr(C)]
pub struct acb_dirichlet_platt_i_precomp_struct {
pub c1: arb_struct,
pub c2: arb_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of acb_dirichlet_platt_i_precomp_struct"]
[::std::mem::size_of::<acb_dirichlet_platt_i_precomp_struct>() - 96usize];
["Alignment of acb_dirichlet_platt_i_precomp_struct"]
[::std::mem::align_of::<acb_dirichlet_platt_i_precomp_struct>() - 8usize];
["Offset of field: acb_dirichlet_platt_i_precomp_struct::c1"]
[::std::mem::offset_of!(acb_dirichlet_platt_i_precomp_struct, c1) - 0usize];
["Offset of field: acb_dirichlet_platt_i_precomp_struct::c2"]
[::std::mem::offset_of!(acb_dirichlet_platt_i_precomp_struct, c2) - 48usize];
};
impl Default for acb_dirichlet_platt_i_precomp_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 acb_dirichlet_platt_i_precomp_t = [acb_dirichlet_platt_i_precomp_struct; 1usize];
#[repr(C)]
pub struct acb_dirichlet_platt_ws_precomp_struct {
pub pre_c: acb_dirichlet_platt_c_precomp_struct,
pub pre_i: acb_dirichlet_platt_i_precomp_struct,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of acb_dirichlet_platt_ws_precomp_struct"]
[::std::mem::size_of::<acb_dirichlet_platt_ws_precomp_struct>() - 208usize];
["Alignment of acb_dirichlet_platt_ws_precomp_struct"]
[::std::mem::align_of::<acb_dirichlet_platt_ws_precomp_struct>() - 8usize];
["Offset of field: acb_dirichlet_platt_ws_precomp_struct::pre_c"]
[::std::mem::offset_of!(acb_dirichlet_platt_ws_precomp_struct, pre_c) - 0usize];
["Offset of field: acb_dirichlet_platt_ws_precomp_struct::pre_i"]
[::std::mem::offset_of!(acb_dirichlet_platt_ws_precomp_struct, pre_i) - 112usize];
};
impl Default for acb_dirichlet_platt_ws_precomp_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 acb_dirichlet_platt_ws_precomp_t = [acb_dirichlet_platt_ws_precomp_struct; 1usize];
extern "C" {
pub fn acb_dirichlet_powsum_term(
res: acb_ptr,
log_prev: *mut arb_struct,
prev: *mut ulong,
s: *const acb_struct,
k: ulong,
integer: libc::c_int,
critical_line: libc::c_int,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_powsum_sieved(
z: acb_ptr,
s: *const acb_struct,
n: ulong,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_powsum_smooth(
z: acb_ptr,
s: *const acb_struct,
n: ulong,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_zeta_bound(res: *mut mag_struct, s: *const acb_struct);
pub fn acb_dirichlet_zeta_deriv_bound(
der1: *mut mag_struct,
der2: *mut mag_struct,
s: *const acb_struct,
);
pub fn acb_dirichlet_zeta_rs_f_coeffs(c: acb_ptr, p: *const arb_struct, N: slong, prec: slong);
pub fn acb_dirichlet_zeta_rs_d_coeffs(
d: arb_ptr,
sigma: *const arb_struct,
k: slong,
prec: slong,
);
pub fn acb_dirichlet_zeta_rs_bound(err: *mut mag_struct, s: *const acb_struct, K: slong);
pub fn acb_dirichlet_zeta_rs_r(
res: *mut acb_struct,
s: *const acb_struct,
K: slong,
prec: slong,
);
pub fn acb_dirichlet_zeta_rs(res: *mut acb_struct, s: *const acb_struct, K: slong, prec: slong);
pub fn acb_dirichlet_zeta(res: *mut acb_struct, s: *const acb_struct, prec: slong);
pub fn acb_dirichlet_zeta_jet_rs(res: acb_ptr, s: *const acb_struct, len: slong, prec: slong);
pub fn acb_dirichlet_zeta_jet(
res: *mut acb_struct,
s: *const acb_struct,
deflate: libc::c_int,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_hurwitz(
res: *mut acb_struct,
s: *const acb_struct,
a: *const acb_struct,
prec: slong,
);
pub fn acb_dirichlet_lerch_phi_integral(
res: *mut acb_struct,
z: *const acb_struct,
s: *const acb_struct,
a: *const acb_struct,
prec: slong,
);
pub fn acb_dirichlet_lerch_phi_direct(
res: *mut acb_struct,
z: *const acb_struct,
s: *const acb_struct,
a: *const acb_struct,
prec: slong,
);
pub fn acb_dirichlet_lerch_phi(
res: *mut acb_struct,
z: *const acb_struct,
s: *const acb_struct,
a: *const acb_struct,
prec: slong,
);
pub fn acb_dirichlet_stieltjes(
res: *mut acb_struct,
n: *const fmpz,
a: *const acb_struct,
prec: slong,
);
pub fn acb_dirichlet_hurwitz_precomp_init(
pre: *mut acb_dirichlet_hurwitz_precomp_struct,
s: *const acb_struct,
deflate: libc::c_int,
A: slong,
K: slong,
N: slong,
prec: slong,
);
pub fn acb_dirichlet_hurwitz_precomp_init_num(
pre: *mut acb_dirichlet_hurwitz_precomp_struct,
s: *const acb_struct,
deflate: libc::c_int,
num_eval: f64,
prec: slong,
);
pub fn acb_dirichlet_hurwitz_precomp_clear(pre: *mut acb_dirichlet_hurwitz_precomp_struct);
pub fn acb_dirichlet_hurwitz_precomp_bound(
res: *mut mag_struct,
s: *const acb_struct,
A: slong,
K: slong,
N: slong,
);
pub fn acb_dirichlet_hurwitz_precomp_eval(
res: *mut acb_struct,
pre: *const acb_dirichlet_hurwitz_precomp_struct,
p: ulong,
q: ulong,
prec: slong,
);
pub fn acb_dirichlet_hurwitz_precomp_choose_param(
A: *mut ulong,
K: *mut ulong,
N: *mut ulong,
s: *const acb_struct,
num_eval: f64,
prec: slong,
);
pub fn _acb_dirichlet_euler_product_real_ui(
res: *mut arb_struct,
s: ulong,
chi: *const libc::c_schar,
mod_: libc::c_int,
reciprocal: libc::c_int,
prec: slong,
);
pub fn acb_dirichlet_eta(res: *mut acb_struct, s: *const acb_struct, prec: slong);
pub fn acb_dirichlet_xi(res: *mut acb_struct, s: *const acb_struct, prec: slong);
pub fn acb_dirichlet_pairing(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
m: ulong,
n: ulong,
prec: slong,
);
pub fn acb_dirichlet_pairing_char(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
a: *const dirichlet_char_struct,
b: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_roots_init(
t: *mut acb_dirichlet_roots_struct,
order: ulong,
num: slong,
prec: slong,
);
pub fn acb_dirichlet_roots_clear(t: *mut acb_dirichlet_roots_struct);
pub fn acb_dirichlet_root(
z: *mut acb_struct,
t: *const acb_dirichlet_roots_struct,
n: ulong,
prec: slong,
);
pub fn acb_dirichlet_chi(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
n: ulong,
prec: slong,
);
pub fn acb_dirichlet_chi_vec(
v: acb_ptr,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
nv: slong,
prec: slong,
);
pub fn acb_dirichlet_arb_quadratic_powers(
v: arb_ptr,
nv: slong,
x: *const arb_struct,
prec: slong,
);
pub fn acb_dirichlet_qseries_arb(
res: *mut acb_struct,
a: acb_srcptr,
x: *const arb_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_qseries_arb_powers_naive(
res: *mut acb_struct,
x: *const arb_struct,
parity: libc::c_int,
a: *const ulong,
z: *const acb_dirichlet_roots_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_qseries_arb_powers_smallorder(
res: *mut acb_struct,
x: *const arb_struct,
parity: libc::c_int,
a: *const ulong,
z: *const acb_dirichlet_roots_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_theta_length_d(q: ulong, x: f64, prec: slong) -> ulong;
pub fn acb_dirichlet_theta_length(q: ulong, x: *const arb_struct, prec: slong) -> ulong;
pub fn mag_tail_kexpk2_arb(res: *mut mag_struct, a: *const arb_struct, n: ulong);
pub fn _acb_dirichlet_theta_argument_at_arb(
xt: *mut arb_struct,
q: ulong,
t: *const arb_struct,
prec: slong,
);
pub fn _acb_dirichlet_theta_arb_series(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
xt: *const arb_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_theta_arb(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
t: *const arb_struct,
prec: slong,
);
pub fn acb_dirichlet_ui_theta_arb(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
a: ulong,
t: *const arb_struct,
prec: slong,
);
pub fn acb_dirichlet_gauss_sum_naive(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_gauss_sum_factor(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_gauss_sum_order2(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_gauss_sum_theta(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_gauss_sum(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_root_number_theta(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_root_number(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_si_poly_evaluate(
res: *mut acb_struct,
v: *mut slong,
len: slong,
z: *const acb_struct,
prec: slong,
);
pub fn acb_dirichlet_jacobi_sum_naive(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi1: *const dirichlet_char_struct,
chi2: *const dirichlet_char_struct,
prec: slong,
);
pub fn jacobi_one_prime(p: ulong, e: ulong, pe: ulong, cond: ulong) -> ulong;
pub fn acb_dirichlet_jacobi_sum_factor(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi1: *const dirichlet_char_struct,
chi2: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_jacobi_sum_gauss(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi1: *const dirichlet_char_struct,
chi2: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_jacobi_sum(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
chi1: *const dirichlet_char_struct,
chi2: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_jacobi_sum_ui(
res: *mut acb_struct,
G: *const dirichlet_group_struct,
a: ulong,
b: ulong,
prec: slong,
);
pub fn acb_dirichlet_l_euler_product(
res: *mut acb_struct,
s: *const acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_l_hurwitz(
res: *mut acb_struct,
s: *const acb_struct,
precomp: *const acb_dirichlet_hurwitz_precomp_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_l(
res: *mut acb_struct,
s: *const acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_l_vec_hurwitz(
res: acb_ptr,
s: *const acb_struct,
precomp: *const acb_dirichlet_hurwitz_precomp_struct,
G: *const dirichlet_group_struct,
prec: slong,
);
pub fn acb_dirichlet_l_jet(
res: acb_ptr,
s: *const acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
deflate: libc::c_int,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_l_fmpq_afe(
res: *mut acb_struct,
s: *const fmpq,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_l_fmpq(
res: *mut acb_struct,
s: *const fmpq,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn _acb_dirichlet_l_series(
res: acb_ptr,
s: acb_srcptr,
slen: slong,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
deflate: libc::c_int,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_l_series(
res: *mut acb_poly_struct,
s: *const acb_poly_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
deflate: libc::c_int,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_hardy_theta(
res: acb_ptr,
t: *const acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_hardy_z(
res: acb_ptr,
t: *const acb_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
len: slong,
prec: slong,
);
pub fn _acb_dirichlet_hardy_theta_series(
res: acb_ptr,
s: acb_srcptr,
slen: slong,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_hardy_theta_series(
res: *mut acb_poly_struct,
s: *const acb_poly_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
len: slong,
prec: slong,
);
pub fn _acb_dirichlet_hardy_z_series(
res: acb_ptr,
s: acb_srcptr,
slen: slong,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_hardy_z_series(
res: *mut acb_poly_struct,
s: *const acb_poly_struct,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
len: slong,
prec: slong,
);
pub fn acb_dirichlet_gram_point(
res: *mut arb_struct,
n: *const fmpz,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
prec: slong,
);
pub fn acb_dirichlet_turing_method_bound(p: *const fmpz) -> ulong;
pub fn _acb_dirichlet_definite_hardy_z(
res: *mut arb_struct,
t: *const arf_struct,
pprec: *mut slong,
) -> libc::c_int;
pub fn _acb_dirichlet_isolate_gram_hardy_z_zero(
a: *mut arf_struct,
b: *mut arf_struct,
n: *const fmpz,
);
pub fn _acb_dirichlet_isolate_rosser_hardy_z_zero(
a: *mut arf_struct,
b: *mut arf_struct,
n: *const fmpz,
);
pub fn _acb_dirichlet_isolate_turing_hardy_z_zero(
a: *mut arf_struct,
b: *mut arf_struct,
n: *const fmpz,
);
pub fn acb_dirichlet_isolate_hardy_z_zero(
a: *mut arf_struct,
b: *mut arf_struct,
n: *const fmpz,
);
pub fn _acb_dirichlet_refine_hardy_z_zero(
res: *mut arb_struct,
a: *const arf_struct,
b: *const arf_struct,
prec: slong,
);
pub fn acb_dirichlet_hardy_z_zeros(res: arb_ptr, n: *const fmpz, len: slong, prec: slong);
pub fn acb_dirichlet_zeta_zeros(res: acb_ptr, n: *const fmpz, len: slong, prec: slong);
pub fn acb_dirichlet_platt_zeta_zeros(
res: acb_ptr,
n: *const fmpz,
len: slong,
prec: slong,
) -> slong;
pub fn _acb_dirichlet_exact_zeta_nzeros(res: *mut fmpz, t: *const arf_struct);
pub fn acb_dirichlet_zeta_nzeros(res: *mut arb_struct, t: *const arb_struct, prec: slong);
pub fn acb_dirichlet_backlund_s(res: *mut arb_struct, t: *const arb_struct, prec: slong);
pub fn acb_dirichlet_backlund_s_bound(res: *mut mag_struct, t: *const arb_struct);
pub fn acb_dirichlet_zeta_nzeros_gram(res: *mut fmpz, n: *const fmpz);
pub fn acb_dirichlet_backlund_s_gram(n: *const fmpz) -> slong;
#[link_name = "acb_dirichlet_hardy_z_zero__extern"]
pub fn acb_dirichlet_hardy_z_zero(res: *mut arb_struct, n: *const fmpz, prec: slong);
#[link_name = "acb_dirichlet_zeta_zero__extern"]
pub fn acb_dirichlet_zeta_zero(res: *mut acb_struct, n: *const fmpz, prec: slong);
pub fn acb_dirichlet_vec_mellin_arb(
res: acb_ptr,
G: *const dirichlet_group_struct,
chi: *const dirichlet_char_struct,
len: slong,
t: *const arb_struct,
n: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_c_precomp_init(
pre: *mut acb_dirichlet_platt_c_precomp_struct,
sigma: slong,
h: *const arb_struct,
k: ulong,
prec: slong,
);
pub fn acb_dirichlet_platt_c_precomp_clear(pre: *mut acb_dirichlet_platt_c_precomp_struct);
pub fn acb_dirichlet_platt_c_bound_precomp(
res: *mut arb_struct,
pre: *const acb_dirichlet_platt_c_precomp_struct,
sigma: slong,
t0: *const arb_struct,
h: *const arb_struct,
k: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_c_bound(
res: *mut arb_struct,
sigma: slong,
t0: *const arb_struct,
h: *const arb_struct,
k: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_i_precomp_init(
pre: *mut acb_dirichlet_platt_i_precomp_struct,
A: slong,
H: *const arb_struct,
sigma: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_i_precomp_clear(pre: *mut acb_dirichlet_platt_i_precomp_struct);
pub fn acb_dirichlet_platt_i_bound_precomp(
res: *mut arb_struct,
pre_i: *const acb_dirichlet_platt_i_precomp_struct,
pre_c: *const acb_dirichlet_platt_c_precomp_struct,
t0: *const arb_struct,
A: slong,
H: *const arb_struct,
sigma: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_i_bound(
res: *mut arb_struct,
t0: *const arb_struct,
A: slong,
H: *const arb_struct,
sigma: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_ws_precomp_init(
pre: *mut acb_dirichlet_platt_ws_precomp_struct,
A: slong,
H: *const arb_struct,
sigma: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_ws_precomp_clear(pre: *mut acb_dirichlet_platt_ws_precomp_struct);
pub fn acb_dirichlet_platt_ws_interpolation_precomp(
res: *mut arb_struct,
deriv: *mut arf_struct,
pre: *const acb_dirichlet_platt_ws_precomp_struct,
t0: *const arb_struct,
p: arb_srcptr,
T: *const fmpz,
A: slong,
B: slong,
Ns_max: slong,
H: *const arb_struct,
sigma: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_ws_interpolation(
res: *mut arb_struct,
deriv: *mut arf_struct,
t0: *const arb_struct,
p: arb_srcptr,
T: *const fmpz,
A: slong,
B: slong,
Ns_max: slong,
H: *const arb_struct,
sigma: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_bound_C3(
res: *mut arb_struct,
t0: *const arb_struct,
A: slong,
H: *const arb_struct,
Ns: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_scaled_lambda(
res: *mut arb_struct,
t: *const arb_struct,
prec: slong,
);
pub fn acb_dirichlet_platt_scaled_lambda_vec(
res: arb_ptr,
T: *const fmpz,
A: slong,
B: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_beta(res: *mut arb_struct, t: *const arb_struct, prec: slong);
pub fn acb_dirichlet_platt_lemma_32(
out: *mut arb_struct,
h: *const arb_struct,
t0: *const arb_struct,
x: *const arb_struct,
prec: slong,
);
pub fn acb_dirichlet_platt_lemma_A5(
out: *mut arb_struct,
B: slong,
h: *const arb_struct,
k: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_lemma_A7(
out: *mut arb_struct,
sigma: slong,
t0: *const arb_struct,
h: *const arb_struct,
k: slong,
A: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_lemma_A9(
out: *mut arb_struct,
sigma: slong,
t0: *const arb_struct,
h: *const arb_struct,
A: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_lemma_A11(
out: *mut arb_struct,
t0: *const arb_struct,
h: *const arb_struct,
B: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_lemma_B1(
out: *mut arb_struct,
sigma: slong,
t0: *const arb_struct,
h: *const arb_struct,
J: *const fmpz,
prec: slong,
);
pub fn acb_dirichlet_platt_lemma_B2(
out: *mut arb_struct,
K: slong,
h: *const arb_struct,
xi: *const arb_struct,
prec: slong,
);
pub fn acb_dirichlet_platt_multieval(
out: arb_ptr,
T: *const fmpz,
A: slong,
B: slong,
h: *const arb_struct,
J: *const fmpz,
K: slong,
sigma: slong,
prec: slong,
);
pub fn acb_dirichlet_platt_multieval_threaded(
out: arb_ptr,
T: *const fmpz,
A: slong,
B: slong,
h: *const arb_struct,
J: *const fmpz,
K: slong,
sigma: slong,
prec: slong,
);
pub fn _acb_dirichlet_platt_isolate_local_hardy_z_zeros(
res: arf_interval_ptr,
n: *const fmpz,
len: slong,
T: *const fmpz,
A: slong,
B: slong,
h: *const arb_struct,
J: *const fmpz,
K: slong,
sigma_grid: slong,
Ns_max: slong,
H: *const arb_struct,
sigma_interp: slong,
prec: slong,
) -> slong;
pub fn acb_dirichlet_platt_isolate_local_hardy_z_zeros(
res: arf_interval_ptr,
n: *const fmpz,
len: slong,
prec: slong,
) -> slong;
pub fn _acb_dirichlet_platt_local_hardy_z_zeros(
res: arb_ptr,
n: *const fmpz,
len: slong,
T: *const fmpz,
A: slong,
B: slong,
h: *const arb_struct,
J: *const fmpz,
K: slong,
sigma_grid: slong,
Ns_max: slong,
H: *const arb_struct,
sigma_interp: slong,
prec: slong,
) -> slong;
pub fn acb_dirichlet_platt_local_hardy_z_zeros(
res: arb_ptr,
n: *const fmpz,
len: slong,
prec: slong,
) -> slong;
pub fn acb_dirichlet_platt_hardy_z_zeros(
res: arb_ptr,
n: *const fmpz,
len: slong,
prec: slong,
) -> slong;
pub fn acb_dirichlet_dft_index(
w: acb_ptr,
v: acb_srcptr,
G: *const dirichlet_group_struct,
prec: slong,
);
pub fn acb_dirichlet_dft(
w: acb_ptr,
v: acb_srcptr,
G: *const dirichlet_group_struct,
prec: slong,
);
}