1use crate::deps::*;
4use crate::acb_types::*;
5use crate::arb_types::*;
6use crate::arf_types::*;
7use crate::dirichlet::*;
8use crate::flint::*;
9
10
11#[repr(C)]
12pub struct acb_dirichlet_hurwitz_precomp_struct {
13 pub s: acb_struct,
14 pub err: mag_struct,
15 pub coeffs: acb_ptr,
16 pub deflate: libc::c_int,
17 pub A: slong,
18 pub N: slong,
19 pub K: slong,
20}
21#[allow(clippy::unnecessary_operation, clippy::identity_op)]
22const _: () = {
23 ["Size of acb_dirichlet_hurwitz_precomp_struct"]
24 [::std::mem::size_of::<acb_dirichlet_hurwitz_precomp_struct>() - 152usize];
25 ["Alignment of acb_dirichlet_hurwitz_precomp_struct"]
26 [::std::mem::align_of::<acb_dirichlet_hurwitz_precomp_struct>() - 8usize];
27 ["Offset of field: acb_dirichlet_hurwitz_precomp_struct::s"]
28 [::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, s) - 0usize];
29 ["Offset of field: acb_dirichlet_hurwitz_precomp_struct::err"]
30 [::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, err) - 96usize];
31 ["Offset of field: acb_dirichlet_hurwitz_precomp_struct::coeffs"]
32 [::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, coeffs) - 112usize];
33 ["Offset of field: acb_dirichlet_hurwitz_precomp_struct::deflate"]
34 [::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, deflate) - 120usize];
35 ["Offset of field: acb_dirichlet_hurwitz_precomp_struct::A"]
36 [::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, A) - 128usize];
37 ["Offset of field: acb_dirichlet_hurwitz_precomp_struct::N"]
38 [::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, N) - 136usize];
39 ["Offset of field: acb_dirichlet_hurwitz_precomp_struct::K"]
40 [::std::mem::offset_of!(acb_dirichlet_hurwitz_precomp_struct, K) - 144usize];
41};
42impl Default for acb_dirichlet_hurwitz_precomp_struct {
43 fn default() -> Self {
44 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
45 unsafe {
46 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
47 s.assume_init()
48 }
49 }
50}
51pub type acb_dirichlet_hurwitz_precomp_t = [acb_dirichlet_hurwitz_precomp_struct; 1usize];
52#[repr(C)]
53pub struct acb_dirichlet_roots_struct {
54 pub order: ulong,
55 pub reduced_order: ulong,
56 pub z: acb_t,
57 pub size: slong,
58 pub depth: slong,
59 pub Z: *mut acb_ptr,
60 pub use_pow: libc::c_int,
61}
62#[allow(clippy::unnecessary_operation, clippy::identity_op)]
63const _: () = {
64 ["Size of acb_dirichlet_roots_struct"]
65 [::std::mem::size_of::<acb_dirichlet_roots_struct>() - 144usize];
66 ["Alignment of acb_dirichlet_roots_struct"]
67 [::std::mem::align_of::<acb_dirichlet_roots_struct>() - 8usize];
68 ["Offset of field: acb_dirichlet_roots_struct::order"]
69 [::std::mem::offset_of!(acb_dirichlet_roots_struct, order) - 0usize];
70 ["Offset of field: acb_dirichlet_roots_struct::reduced_order"]
71 [::std::mem::offset_of!(acb_dirichlet_roots_struct, reduced_order) - 8usize];
72 ["Offset of field: acb_dirichlet_roots_struct::z"]
73 [::std::mem::offset_of!(acb_dirichlet_roots_struct, z) - 16usize];
74 ["Offset of field: acb_dirichlet_roots_struct::size"]
75 [::std::mem::offset_of!(acb_dirichlet_roots_struct, size) - 112usize];
76 ["Offset of field: acb_dirichlet_roots_struct::depth"]
77 [::std::mem::offset_of!(acb_dirichlet_roots_struct, depth) - 120usize];
78 ["Offset of field: acb_dirichlet_roots_struct::Z"]
79 [::std::mem::offset_of!(acb_dirichlet_roots_struct, Z) - 128usize];
80 ["Offset of field: acb_dirichlet_roots_struct::use_pow"]
81 [::std::mem::offset_of!(acb_dirichlet_roots_struct, use_pow) - 136usize];
82};
83impl Default for acb_dirichlet_roots_struct {
84 fn default() -> Self {
85 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
86 unsafe {
87 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
88 s.assume_init()
89 }
90 }
91}
92pub type acb_dirichlet_roots_t = [acb_dirichlet_roots_struct; 1usize];
93#[repr(C)]
94pub struct acb_dirichlet_platt_c_precomp_struct {
95 pub len: slong,
96 pub p: arb_ptr,
97 pub Xa: arb_struct,
98 pub Xb: arb_struct,
99}
100#[allow(clippy::unnecessary_operation, clippy::identity_op)]
101const _: () = {
102 ["Size of acb_dirichlet_platt_c_precomp_struct"]
103 [::std::mem::size_of::<acb_dirichlet_platt_c_precomp_struct>() - 112usize];
104 ["Alignment of acb_dirichlet_platt_c_precomp_struct"]
105 [::std::mem::align_of::<acb_dirichlet_platt_c_precomp_struct>() - 8usize];
106 ["Offset of field: acb_dirichlet_platt_c_precomp_struct::len"]
107 [::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, len) - 0usize];
108 ["Offset of field: acb_dirichlet_platt_c_precomp_struct::p"]
109 [::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, p) - 8usize];
110 ["Offset of field: acb_dirichlet_platt_c_precomp_struct::Xa"]
111 [::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, Xa) - 16usize];
112 ["Offset of field: acb_dirichlet_platt_c_precomp_struct::Xb"]
113 [::std::mem::offset_of!(acb_dirichlet_platt_c_precomp_struct, Xb) - 64usize];
114};
115impl Default for acb_dirichlet_platt_c_precomp_struct {
116 fn default() -> Self {
117 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
118 unsafe {
119 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
120 s.assume_init()
121 }
122 }
123}
124pub type acb_dirichlet_platt_c_precomp_t = [acb_dirichlet_platt_c_precomp_struct; 1usize];
125#[repr(C)]
126pub struct acb_dirichlet_platt_i_precomp_struct {
127 pub c1: arb_struct,
128 pub c2: arb_struct,
129}
130#[allow(clippy::unnecessary_operation, clippy::identity_op)]
131const _: () = {
132 ["Size of acb_dirichlet_platt_i_precomp_struct"]
133 [::std::mem::size_of::<acb_dirichlet_platt_i_precomp_struct>() - 96usize];
134 ["Alignment of acb_dirichlet_platt_i_precomp_struct"]
135 [::std::mem::align_of::<acb_dirichlet_platt_i_precomp_struct>() - 8usize];
136 ["Offset of field: acb_dirichlet_platt_i_precomp_struct::c1"]
137 [::std::mem::offset_of!(acb_dirichlet_platt_i_precomp_struct, c1) - 0usize];
138 ["Offset of field: acb_dirichlet_platt_i_precomp_struct::c2"]
139 [::std::mem::offset_of!(acb_dirichlet_platt_i_precomp_struct, c2) - 48usize];
140};
141impl Default for acb_dirichlet_platt_i_precomp_struct {
142 fn default() -> Self {
143 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
144 unsafe {
145 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
146 s.assume_init()
147 }
148 }
149}
150pub type acb_dirichlet_platt_i_precomp_t = [acb_dirichlet_platt_i_precomp_struct; 1usize];
151#[repr(C)]
152pub struct acb_dirichlet_platt_ws_precomp_struct {
153 pub pre_c: acb_dirichlet_platt_c_precomp_struct,
154 pub pre_i: acb_dirichlet_platt_i_precomp_struct,
155}
156#[allow(clippy::unnecessary_operation, clippy::identity_op)]
157const _: () = {
158 ["Size of acb_dirichlet_platt_ws_precomp_struct"]
159 [::std::mem::size_of::<acb_dirichlet_platt_ws_precomp_struct>() - 208usize];
160 ["Alignment of acb_dirichlet_platt_ws_precomp_struct"]
161 [::std::mem::align_of::<acb_dirichlet_platt_ws_precomp_struct>() - 8usize];
162 ["Offset of field: acb_dirichlet_platt_ws_precomp_struct::pre_c"]
163 [::std::mem::offset_of!(acb_dirichlet_platt_ws_precomp_struct, pre_c) - 0usize];
164 ["Offset of field: acb_dirichlet_platt_ws_precomp_struct::pre_i"]
165 [::std::mem::offset_of!(acb_dirichlet_platt_ws_precomp_struct, pre_i) - 112usize];
166};
167impl Default for acb_dirichlet_platt_ws_precomp_struct {
168 fn default() -> Self {
169 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
170 unsafe {
171 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
172 s.assume_init()
173 }
174 }
175}
176pub type acb_dirichlet_platt_ws_precomp_t = [acb_dirichlet_platt_ws_precomp_struct; 1usize];
177extern "C" {
178 pub fn acb_dirichlet_powsum_term(
179 res: acb_ptr,
180 log_prev: *mut arb_struct,
181 prev: *mut ulong,
182 s: *const acb_struct,
183 k: ulong,
184 integer: libc::c_int,
185 critical_line: libc::c_int,
186 len: slong,
187 prec: slong,
188 );
189 pub fn acb_dirichlet_powsum_sieved(
190 z: acb_ptr,
191 s: *const acb_struct,
192 n: ulong,
193 len: slong,
194 prec: slong,
195 );
196 pub fn acb_dirichlet_powsum_smooth(
197 z: acb_ptr,
198 s: *const acb_struct,
199 n: ulong,
200 len: slong,
201 prec: slong,
202 );
203 pub fn acb_dirichlet_zeta_bound(res: *mut mag_struct, s: *const acb_struct);
204 pub fn acb_dirichlet_zeta_deriv_bound(
205 der1: *mut mag_struct,
206 der2: *mut mag_struct,
207 s: *const acb_struct,
208 );
209 pub fn acb_dirichlet_zeta_rs_f_coeffs(c: acb_ptr, p: *const arb_struct, N: slong, prec: slong);
210 pub fn acb_dirichlet_zeta_rs_d_coeffs(
211 d: arb_ptr,
212 sigma: *const arb_struct,
213 k: slong,
214 prec: slong,
215 );
216 pub fn acb_dirichlet_zeta_rs_bound(err: *mut mag_struct, s: *const acb_struct, K: slong);
217 pub fn acb_dirichlet_zeta_rs_r(
218 res: *mut acb_struct,
219 s: *const acb_struct,
220 K: slong,
221 prec: slong,
222 );
223 pub fn acb_dirichlet_zeta_rs(res: *mut acb_struct, s: *const acb_struct, K: slong, prec: slong);
224 pub fn acb_dirichlet_zeta(res: *mut acb_struct, s: *const acb_struct, prec: slong);
225 pub fn acb_dirichlet_zeta_jet_rs(res: acb_ptr, s: *const acb_struct, len: slong, prec: slong);
226 pub fn acb_dirichlet_zeta_jet(
227 res: *mut acb_struct,
228 s: *const acb_struct,
229 deflate: libc::c_int,
230 len: slong,
231 prec: slong,
232 );
233 pub fn acb_dirichlet_hurwitz(
234 res: *mut acb_struct,
235 s: *const acb_struct,
236 a: *const acb_struct,
237 prec: slong,
238 );
239 pub fn acb_dirichlet_lerch_phi_integral(
240 res: *mut acb_struct,
241 z: *const acb_struct,
242 s: *const acb_struct,
243 a: *const acb_struct,
244 prec: slong,
245 );
246 pub fn acb_dirichlet_lerch_phi_direct(
247 res: *mut acb_struct,
248 z: *const acb_struct,
249 s: *const acb_struct,
250 a: *const acb_struct,
251 prec: slong,
252 );
253 pub fn acb_dirichlet_lerch_phi(
254 res: *mut acb_struct,
255 z: *const acb_struct,
256 s: *const acb_struct,
257 a: *const acb_struct,
258 prec: slong,
259 );
260 pub fn acb_dirichlet_stieltjes(
261 res: *mut acb_struct,
262 n: *const fmpz,
263 a: *const acb_struct,
264 prec: slong,
265 );
266 pub fn acb_dirichlet_hurwitz_precomp_init(
267 pre: *mut acb_dirichlet_hurwitz_precomp_struct,
268 s: *const acb_struct,
269 deflate: libc::c_int,
270 A: slong,
271 K: slong,
272 N: slong,
273 prec: slong,
274 );
275 pub fn acb_dirichlet_hurwitz_precomp_init_num(
276 pre: *mut acb_dirichlet_hurwitz_precomp_struct,
277 s: *const acb_struct,
278 deflate: libc::c_int,
279 num_eval: f64,
280 prec: slong,
281 );
282 pub fn acb_dirichlet_hurwitz_precomp_clear(pre: *mut acb_dirichlet_hurwitz_precomp_struct);
283 pub fn acb_dirichlet_hurwitz_precomp_bound(
284 res: *mut mag_struct,
285 s: *const acb_struct,
286 A: slong,
287 K: slong,
288 N: slong,
289 );
290 pub fn acb_dirichlet_hurwitz_precomp_eval(
291 res: *mut acb_struct,
292 pre: *const acb_dirichlet_hurwitz_precomp_struct,
293 p: ulong,
294 q: ulong,
295 prec: slong,
296 );
297 pub fn acb_dirichlet_hurwitz_precomp_choose_param(
298 A: *mut ulong,
299 K: *mut ulong,
300 N: *mut ulong,
301 s: *const acb_struct,
302 num_eval: f64,
303 prec: slong,
304 );
305 pub fn _acb_dirichlet_euler_product_real_ui(
306 res: *mut arb_struct,
307 s: ulong,
308 chi: *const libc::c_schar,
309 mod_: libc::c_int,
310 reciprocal: libc::c_int,
311 prec: slong,
312 );
313 pub fn acb_dirichlet_eta(res: *mut acb_struct, s: *const acb_struct, prec: slong);
314 pub fn acb_dirichlet_xi(res: *mut acb_struct, s: *const acb_struct, prec: slong);
315 pub fn acb_dirichlet_pairing(
316 res: *mut acb_struct,
317 G: *const dirichlet_group_struct,
318 m: ulong,
319 n: ulong,
320 prec: slong,
321 );
322 pub fn acb_dirichlet_pairing_char(
323 res: *mut acb_struct,
324 G: *const dirichlet_group_struct,
325 a: *const dirichlet_char_struct,
326 b: *const dirichlet_char_struct,
327 prec: slong,
328 );
329 pub fn acb_dirichlet_roots_init(
330 t: *mut acb_dirichlet_roots_struct,
331 order: ulong,
332 num: slong,
333 prec: slong,
334 );
335 pub fn acb_dirichlet_roots_clear(t: *mut acb_dirichlet_roots_struct);
336 pub fn acb_dirichlet_root(
337 z: *mut acb_struct,
338 t: *const acb_dirichlet_roots_struct,
339 n: ulong,
340 prec: slong,
341 );
342 pub fn acb_dirichlet_chi(
343 res: *mut acb_struct,
344 G: *const dirichlet_group_struct,
345 chi: *const dirichlet_char_struct,
346 n: ulong,
347 prec: slong,
348 );
349 pub fn acb_dirichlet_chi_vec(
350 v: acb_ptr,
351 G: *const dirichlet_group_struct,
352 chi: *const dirichlet_char_struct,
353 nv: slong,
354 prec: slong,
355 );
356 pub fn acb_dirichlet_arb_quadratic_powers(
357 v: arb_ptr,
358 nv: slong,
359 x: *const arb_struct,
360 prec: slong,
361 );
362 pub fn acb_dirichlet_qseries_arb(
363 res: *mut acb_struct,
364 a: acb_srcptr,
365 x: *const arb_struct,
366 len: slong,
367 prec: slong,
368 );
369 pub fn acb_dirichlet_qseries_arb_powers_naive(
370 res: *mut acb_struct,
371 x: *const arb_struct,
372 parity: libc::c_int,
373 a: *const ulong,
374 z: *const acb_dirichlet_roots_struct,
375 len: slong,
376 prec: slong,
377 );
378 pub fn acb_dirichlet_qseries_arb_powers_smallorder(
379 res: *mut acb_struct,
380 x: *const arb_struct,
381 parity: libc::c_int,
382 a: *const ulong,
383 z: *const acb_dirichlet_roots_struct,
384 len: slong,
385 prec: slong,
386 );
387 pub fn acb_dirichlet_theta_length_d(q: ulong, x: f64, prec: slong) -> ulong;
388 pub fn acb_dirichlet_theta_length(q: ulong, x: *const arb_struct, prec: slong) -> ulong;
389 pub fn mag_tail_kexpk2_arb(res: *mut mag_struct, a: *const arb_struct, n: ulong);
390 pub fn _acb_dirichlet_theta_argument_at_arb(
391 xt: *mut arb_struct,
392 q: ulong,
393 t: *const arb_struct,
394 prec: slong,
395 );
396 pub fn _acb_dirichlet_theta_arb_series(
397 res: *mut acb_struct,
398 G: *const dirichlet_group_struct,
399 chi: *const dirichlet_char_struct,
400 xt: *const arb_struct,
401 len: slong,
402 prec: slong,
403 );
404 pub fn acb_dirichlet_theta_arb(
405 res: *mut acb_struct,
406 G: *const dirichlet_group_struct,
407 chi: *const dirichlet_char_struct,
408 t: *const arb_struct,
409 prec: slong,
410 );
411 pub fn acb_dirichlet_ui_theta_arb(
412 res: *mut acb_struct,
413 G: *const dirichlet_group_struct,
414 a: ulong,
415 t: *const arb_struct,
416 prec: slong,
417 );
418 pub fn acb_dirichlet_gauss_sum_naive(
419 res: *mut acb_struct,
420 G: *const dirichlet_group_struct,
421 chi: *const dirichlet_char_struct,
422 prec: slong,
423 );
424 pub fn acb_dirichlet_gauss_sum_factor(
425 res: *mut acb_struct,
426 G: *const dirichlet_group_struct,
427 chi: *const dirichlet_char_struct,
428 prec: slong,
429 );
430 pub fn acb_dirichlet_gauss_sum_order2(
431 res: *mut acb_struct,
432 G: *const dirichlet_group_struct,
433 chi: *const dirichlet_char_struct,
434 prec: slong,
435 );
436 pub fn acb_dirichlet_gauss_sum_theta(
437 res: *mut acb_struct,
438 G: *const dirichlet_group_struct,
439 chi: *const dirichlet_char_struct,
440 prec: slong,
441 );
442 pub fn acb_dirichlet_gauss_sum(
443 res: *mut acb_struct,
444 G: *const dirichlet_group_struct,
445 chi: *const dirichlet_char_struct,
446 prec: slong,
447 );
448 pub fn acb_dirichlet_root_number_theta(
449 res: *mut acb_struct,
450 G: *const dirichlet_group_struct,
451 chi: *const dirichlet_char_struct,
452 prec: slong,
453 );
454 pub fn acb_dirichlet_root_number(
455 res: *mut acb_struct,
456 G: *const dirichlet_group_struct,
457 chi: *const dirichlet_char_struct,
458 prec: slong,
459 );
460 pub fn acb_dirichlet_si_poly_evaluate(
461 res: *mut acb_struct,
462 v: *mut slong,
463 len: slong,
464 z: *const acb_struct,
465 prec: slong,
466 );
467 pub fn acb_dirichlet_jacobi_sum_naive(
468 res: *mut acb_struct,
469 G: *const dirichlet_group_struct,
470 chi1: *const dirichlet_char_struct,
471 chi2: *const dirichlet_char_struct,
472 prec: slong,
473 );
474 pub fn jacobi_one_prime(p: ulong, e: ulong, pe: ulong, cond: ulong) -> ulong;
475 pub fn acb_dirichlet_jacobi_sum_factor(
476 res: *mut acb_struct,
477 G: *const dirichlet_group_struct,
478 chi1: *const dirichlet_char_struct,
479 chi2: *const dirichlet_char_struct,
480 prec: slong,
481 );
482 pub fn acb_dirichlet_jacobi_sum_gauss(
483 res: *mut acb_struct,
484 G: *const dirichlet_group_struct,
485 chi1: *const dirichlet_char_struct,
486 chi2: *const dirichlet_char_struct,
487 prec: slong,
488 );
489 pub fn acb_dirichlet_jacobi_sum(
490 res: *mut acb_struct,
491 G: *const dirichlet_group_struct,
492 chi1: *const dirichlet_char_struct,
493 chi2: *const dirichlet_char_struct,
494 prec: slong,
495 );
496 pub fn acb_dirichlet_jacobi_sum_ui(
497 res: *mut acb_struct,
498 G: *const dirichlet_group_struct,
499 a: ulong,
500 b: ulong,
501 prec: slong,
502 );
503 pub fn acb_dirichlet_l_euler_product(
504 res: *mut acb_struct,
505 s: *const acb_struct,
506 G: *const dirichlet_group_struct,
507 chi: *const dirichlet_char_struct,
508 prec: slong,
509 );
510 pub fn acb_dirichlet_l_hurwitz(
511 res: *mut acb_struct,
512 s: *const acb_struct,
513 precomp: *const acb_dirichlet_hurwitz_precomp_struct,
514 G: *const dirichlet_group_struct,
515 chi: *const dirichlet_char_struct,
516 prec: slong,
517 );
518 pub fn acb_dirichlet_l(
519 res: *mut acb_struct,
520 s: *const acb_struct,
521 G: *const dirichlet_group_struct,
522 chi: *const dirichlet_char_struct,
523 prec: slong,
524 );
525 pub fn acb_dirichlet_l_vec_hurwitz(
526 res: acb_ptr,
527 s: *const acb_struct,
528 precomp: *const acb_dirichlet_hurwitz_precomp_struct,
529 G: *const dirichlet_group_struct,
530 prec: slong,
531 );
532 pub fn acb_dirichlet_l_jet(
533 res: acb_ptr,
534 s: *const acb_struct,
535 G: *const dirichlet_group_struct,
536 chi: *const dirichlet_char_struct,
537 deflate: libc::c_int,
538 len: slong,
539 prec: slong,
540 );
541 pub fn acb_dirichlet_l_fmpq_afe(
542 res: *mut acb_struct,
543 s: *const fmpq,
544 G: *const dirichlet_group_struct,
545 chi: *const dirichlet_char_struct,
546 prec: slong,
547 );
548 pub fn acb_dirichlet_l_fmpq(
549 res: *mut acb_struct,
550 s: *const fmpq,
551 G: *const dirichlet_group_struct,
552 chi: *const dirichlet_char_struct,
553 prec: slong,
554 );
555 pub fn _acb_dirichlet_l_series(
556 res: acb_ptr,
557 s: acb_srcptr,
558 slen: slong,
559 G: *const dirichlet_group_struct,
560 chi: *const dirichlet_char_struct,
561 deflate: libc::c_int,
562 len: slong,
563 prec: slong,
564 );
565 pub fn acb_dirichlet_l_series(
566 res: *mut acb_poly_struct,
567 s: *const acb_poly_struct,
568 G: *const dirichlet_group_struct,
569 chi: *const dirichlet_char_struct,
570 deflate: libc::c_int,
571 len: slong,
572 prec: slong,
573 );
574 pub fn acb_dirichlet_hardy_theta(
575 res: acb_ptr,
576 t: *const acb_struct,
577 G: *const dirichlet_group_struct,
578 chi: *const dirichlet_char_struct,
579 len: slong,
580 prec: slong,
581 );
582 pub fn acb_dirichlet_hardy_z(
583 res: acb_ptr,
584 t: *const acb_struct,
585 G: *const dirichlet_group_struct,
586 chi: *const dirichlet_char_struct,
587 len: slong,
588 prec: slong,
589 );
590 pub fn _acb_dirichlet_hardy_theta_series(
591 res: acb_ptr,
592 s: acb_srcptr,
593 slen: slong,
594 G: *const dirichlet_group_struct,
595 chi: *const dirichlet_char_struct,
596 len: slong,
597 prec: slong,
598 );
599 pub fn acb_dirichlet_hardy_theta_series(
600 res: *mut acb_poly_struct,
601 s: *const acb_poly_struct,
602 G: *const dirichlet_group_struct,
603 chi: *const dirichlet_char_struct,
604 len: slong,
605 prec: slong,
606 );
607 pub fn _acb_dirichlet_hardy_z_series(
608 res: acb_ptr,
609 s: acb_srcptr,
610 slen: slong,
611 G: *const dirichlet_group_struct,
612 chi: *const dirichlet_char_struct,
613 len: slong,
614 prec: slong,
615 );
616 pub fn acb_dirichlet_hardy_z_series(
617 res: *mut acb_poly_struct,
618 s: *const acb_poly_struct,
619 G: *const dirichlet_group_struct,
620 chi: *const dirichlet_char_struct,
621 len: slong,
622 prec: slong,
623 );
624 pub fn acb_dirichlet_gram_point(
625 res: *mut arb_struct,
626 n: *const fmpz,
627 G: *const dirichlet_group_struct,
628 chi: *const dirichlet_char_struct,
629 prec: slong,
630 );
631 pub fn acb_dirichlet_turing_method_bound(p: *const fmpz) -> ulong;
632 pub fn _acb_dirichlet_definite_hardy_z(
633 res: *mut arb_struct,
634 t: *const arf_struct,
635 pprec: *mut slong,
636 ) -> libc::c_int;
637 pub fn _acb_dirichlet_isolate_gram_hardy_z_zero(
638 a: *mut arf_struct,
639 b: *mut arf_struct,
640 n: *const fmpz,
641 );
642 pub fn _acb_dirichlet_isolate_rosser_hardy_z_zero(
643 a: *mut arf_struct,
644 b: *mut arf_struct,
645 n: *const fmpz,
646 );
647 pub fn _acb_dirichlet_isolate_turing_hardy_z_zero(
648 a: *mut arf_struct,
649 b: *mut arf_struct,
650 n: *const fmpz,
651 );
652 pub fn acb_dirichlet_isolate_hardy_z_zero(
653 a: *mut arf_struct,
654 b: *mut arf_struct,
655 n: *const fmpz,
656 );
657 pub fn _acb_dirichlet_refine_hardy_z_zero(
658 res: *mut arb_struct,
659 a: *const arf_struct,
660 b: *const arf_struct,
661 prec: slong,
662 );
663 pub fn acb_dirichlet_hardy_z_zeros(res: arb_ptr, n: *const fmpz, len: slong, prec: slong);
664 pub fn acb_dirichlet_zeta_zeros(res: acb_ptr, n: *const fmpz, len: slong, prec: slong);
665 pub fn acb_dirichlet_platt_zeta_zeros(
666 res: acb_ptr,
667 n: *const fmpz,
668 len: slong,
669 prec: slong,
670 ) -> slong;
671 pub fn _acb_dirichlet_exact_zeta_nzeros(res: *mut fmpz, t: *const arf_struct);
672 pub fn acb_dirichlet_zeta_nzeros(res: *mut arb_struct, t: *const arb_struct, prec: slong);
673 pub fn acb_dirichlet_backlund_s(res: *mut arb_struct, t: *const arb_struct, prec: slong);
674 pub fn acb_dirichlet_backlund_s_bound(res: *mut mag_struct, t: *const arb_struct);
675 pub fn acb_dirichlet_zeta_nzeros_gram(res: *mut fmpz, n: *const fmpz);
676 pub fn acb_dirichlet_backlund_s_gram(n: *const fmpz) -> slong;
677 #[link_name = "acb_dirichlet_hardy_z_zero__extern"]
678 pub fn acb_dirichlet_hardy_z_zero(res: *mut arb_struct, n: *const fmpz, prec: slong);
679 #[link_name = "acb_dirichlet_zeta_zero__extern"]
680 pub fn acb_dirichlet_zeta_zero(res: *mut acb_struct, n: *const fmpz, prec: slong);
681 pub fn acb_dirichlet_vec_mellin_arb(
682 res: acb_ptr,
683 G: *const dirichlet_group_struct,
684 chi: *const dirichlet_char_struct,
685 len: slong,
686 t: *const arb_struct,
687 n: slong,
688 prec: slong,
689 );
690 pub fn acb_dirichlet_platt_c_precomp_init(
691 pre: *mut acb_dirichlet_platt_c_precomp_struct,
692 sigma: slong,
693 h: *const arb_struct,
694 k: ulong,
695 prec: slong,
696 );
697 pub fn acb_dirichlet_platt_c_precomp_clear(pre: *mut acb_dirichlet_platt_c_precomp_struct);
698 pub fn acb_dirichlet_platt_c_bound_precomp(
699 res: *mut arb_struct,
700 pre: *const acb_dirichlet_platt_c_precomp_struct,
701 sigma: slong,
702 t0: *const arb_struct,
703 h: *const arb_struct,
704 k: slong,
705 prec: slong,
706 );
707 pub fn acb_dirichlet_platt_c_bound(
708 res: *mut arb_struct,
709 sigma: slong,
710 t0: *const arb_struct,
711 h: *const arb_struct,
712 k: slong,
713 prec: slong,
714 );
715 pub fn acb_dirichlet_platt_i_precomp_init(
716 pre: *mut acb_dirichlet_platt_i_precomp_struct,
717 A: slong,
718 H: *const arb_struct,
719 sigma: slong,
720 prec: slong,
721 );
722 pub fn acb_dirichlet_platt_i_precomp_clear(pre: *mut acb_dirichlet_platt_i_precomp_struct);
723 pub fn acb_dirichlet_platt_i_bound_precomp(
724 res: *mut arb_struct,
725 pre_i: *const acb_dirichlet_platt_i_precomp_struct,
726 pre_c: *const acb_dirichlet_platt_c_precomp_struct,
727 t0: *const arb_struct,
728 A: slong,
729 H: *const arb_struct,
730 sigma: slong,
731 prec: slong,
732 );
733 pub fn acb_dirichlet_platt_i_bound(
734 res: *mut arb_struct,
735 t0: *const arb_struct,
736 A: slong,
737 H: *const arb_struct,
738 sigma: slong,
739 prec: slong,
740 );
741 pub fn acb_dirichlet_platt_ws_precomp_init(
742 pre: *mut acb_dirichlet_platt_ws_precomp_struct,
743 A: slong,
744 H: *const arb_struct,
745 sigma: slong,
746 prec: slong,
747 );
748 pub fn acb_dirichlet_platt_ws_precomp_clear(pre: *mut acb_dirichlet_platt_ws_precomp_struct);
749 pub fn acb_dirichlet_platt_ws_interpolation_precomp(
750 res: *mut arb_struct,
751 deriv: *mut arf_struct,
752 pre: *const acb_dirichlet_platt_ws_precomp_struct,
753 t0: *const arb_struct,
754 p: arb_srcptr,
755 T: *const fmpz,
756 A: slong,
757 B: slong,
758 Ns_max: slong,
759 H: *const arb_struct,
760 sigma: slong,
761 prec: slong,
762 );
763 pub fn acb_dirichlet_platt_ws_interpolation(
764 res: *mut arb_struct,
765 deriv: *mut arf_struct,
766 t0: *const arb_struct,
767 p: arb_srcptr,
768 T: *const fmpz,
769 A: slong,
770 B: slong,
771 Ns_max: slong,
772 H: *const arb_struct,
773 sigma: slong,
774 prec: slong,
775 );
776 pub fn acb_dirichlet_platt_bound_C3(
777 res: *mut arb_struct,
778 t0: *const arb_struct,
779 A: slong,
780 H: *const arb_struct,
781 Ns: slong,
782 prec: slong,
783 );
784 pub fn acb_dirichlet_platt_scaled_lambda(
785 res: *mut arb_struct,
786 t: *const arb_struct,
787 prec: slong,
788 );
789 pub fn acb_dirichlet_platt_scaled_lambda_vec(
790 res: arb_ptr,
791 T: *const fmpz,
792 A: slong,
793 B: slong,
794 prec: slong,
795 );
796 pub fn acb_dirichlet_platt_beta(res: *mut arb_struct, t: *const arb_struct, prec: slong);
797 pub fn acb_dirichlet_platt_lemma_32(
798 out: *mut arb_struct,
799 h: *const arb_struct,
800 t0: *const arb_struct,
801 x: *const arb_struct,
802 prec: slong,
803 );
804 pub fn acb_dirichlet_platt_lemma_A5(
805 out: *mut arb_struct,
806 B: slong,
807 h: *const arb_struct,
808 k: slong,
809 prec: slong,
810 );
811 pub fn acb_dirichlet_platt_lemma_A7(
812 out: *mut arb_struct,
813 sigma: slong,
814 t0: *const arb_struct,
815 h: *const arb_struct,
816 k: slong,
817 A: slong,
818 prec: slong,
819 );
820 pub fn acb_dirichlet_platt_lemma_A9(
821 out: *mut arb_struct,
822 sigma: slong,
823 t0: *const arb_struct,
824 h: *const arb_struct,
825 A: slong,
826 prec: slong,
827 );
828 pub fn acb_dirichlet_platt_lemma_A11(
829 out: *mut arb_struct,
830 t0: *const arb_struct,
831 h: *const arb_struct,
832 B: slong,
833 prec: slong,
834 );
835 pub fn acb_dirichlet_platt_lemma_B1(
836 out: *mut arb_struct,
837 sigma: slong,
838 t0: *const arb_struct,
839 h: *const arb_struct,
840 J: *const fmpz,
841 prec: slong,
842 );
843 pub fn acb_dirichlet_platt_lemma_B2(
844 out: *mut arb_struct,
845 K: slong,
846 h: *const arb_struct,
847 xi: *const arb_struct,
848 prec: slong,
849 );
850 pub fn acb_dirichlet_platt_multieval(
851 out: arb_ptr,
852 T: *const fmpz,
853 A: slong,
854 B: slong,
855 h: *const arb_struct,
856 J: *const fmpz,
857 K: slong,
858 sigma: slong,
859 prec: slong,
860 );
861 pub fn acb_dirichlet_platt_multieval_threaded(
862 out: arb_ptr,
863 T: *const fmpz,
864 A: slong,
865 B: slong,
866 h: *const arb_struct,
867 J: *const fmpz,
868 K: slong,
869 sigma: slong,
870 prec: slong,
871 );
872 pub fn _acb_dirichlet_platt_isolate_local_hardy_z_zeros(
873 res: arf_interval_ptr,
874 n: *const fmpz,
875 len: slong,
876 T: *const fmpz,
877 A: slong,
878 B: slong,
879 h: *const arb_struct,
880 J: *const fmpz,
881 K: slong,
882 sigma_grid: slong,
883 Ns_max: slong,
884 H: *const arb_struct,
885 sigma_interp: slong,
886 prec: slong,
887 ) -> slong;
888 pub fn acb_dirichlet_platt_isolate_local_hardy_z_zeros(
889 res: arf_interval_ptr,
890 n: *const fmpz,
891 len: slong,
892 prec: slong,
893 ) -> slong;
894 pub fn _acb_dirichlet_platt_local_hardy_z_zeros(
895 res: arb_ptr,
896 n: *const fmpz,
897 len: slong,
898 T: *const fmpz,
899 A: slong,
900 B: slong,
901 h: *const arb_struct,
902 J: *const fmpz,
903 K: slong,
904 sigma_grid: slong,
905 Ns_max: slong,
906 H: *const arb_struct,
907 sigma_interp: slong,
908 prec: slong,
909 ) -> slong;
910 pub fn acb_dirichlet_platt_local_hardy_z_zeros(
911 res: arb_ptr,
912 n: *const fmpz,
913 len: slong,
914 prec: slong,
915 ) -> slong;
916 pub fn acb_dirichlet_platt_hardy_z_zeros(
917 res: arb_ptr,
918 n: *const fmpz,
919 len: slong,
920 prec: slong,
921 ) -> slong;
922 pub fn acb_dirichlet_dft_index(
923 w: acb_ptr,
924 v: acb_srcptr,
925 G: *const dirichlet_group_struct,
926 prec: slong,
927 );
928 pub fn acb_dirichlet_dft(
929 w: acb_ptr,
930 v: acb_srcptr,
931 G: *const dirichlet_group_struct,
932 prec: slong,
933 );
934}