1use libc::*;
4use crate::deps::*;
5use crate::acb_types::*;
6use crate::arb_types::*;
7use crate::arf_types::*;
8use crate::flint::*;
9
10
11pub const ACB_LAMBERTW_LEFT: u32 = 2;
12pub const ACB_LAMBERTW_MIDDLE: u32 = 4;
13extern "C" {
14 #[link_name = "acb_init__extern"]
15 pub fn acb_init(x: *mut acb_struct);
16 pub fn acb_clear(x: *mut acb_struct);
17 pub fn _acb_vec_init(n: slong) -> acb_ptr;
18 pub fn _acb_vec_clear(v: acb_ptr, n: slong);
19 #[link_name = "acb_real_ptr__extern"]
20 pub fn acb_real_ptr(z: *mut acb_struct) -> arb_ptr;
21 #[link_name = "acb_imag_ptr__extern"]
22 pub fn acb_imag_ptr(z: *mut acb_struct) -> arb_ptr;
23 #[link_name = "acb_get_real__extern"]
24 pub fn acb_get_real(re: *mut arb_struct, z: *const acb_struct);
25 #[link_name = "acb_get_imag__extern"]
26 pub fn acb_get_imag(im: *mut arb_struct, z: *const acb_struct);
27 #[link_name = "acb_get_mid__extern"]
28 pub fn acb_get_mid(res: *mut acb_struct, x: *const acb_struct);
29 #[link_name = "acb_is_zero__extern"]
30 pub fn acb_is_zero(z: *const acb_struct) -> libc::c_int;
31 #[link_name = "acb_is_one__extern"]
32 pub fn acb_is_one(z: *const acb_struct) -> libc::c_int;
33 #[link_name = "acb_is_exact__extern"]
34 pub fn acb_is_exact(z: *const acb_struct) -> libc::c_int;
35 #[link_name = "acb_is_int__extern"]
36 pub fn acb_is_int(z: *const acb_struct) -> libc::c_int;
37 #[link_name = "acb_is_int_2exp_si__extern"]
38 pub fn acb_is_int_2exp_si(z: *const acb_struct, e: slong) -> libc::c_int;
39 #[link_name = "acb_zero__extern"]
40 pub fn acb_zero(z: *mut acb_struct);
41 #[link_name = "acb_one__extern"]
42 pub fn acb_one(z: *mut acb_struct);
43 #[link_name = "acb_onei__extern"]
44 pub fn acb_onei(z: *mut acb_struct);
45 #[link_name = "acb_set__extern"]
46 pub fn acb_set(z: *mut acb_struct, x: *const acb_struct);
47 #[link_name = "acb_set_round__extern"]
48 pub fn acb_set_round(z: *mut acb_struct, x: *const acb_struct, prec: slong);
49 #[link_name = "acb_neg_round__extern"]
50 pub fn acb_neg_round(z: *mut acb_struct, x: *const acb_struct, prec: slong);
51 #[link_name = "acb_swap__extern"]
52 pub fn acb_swap(z: *mut acb_struct, x: *mut acb_struct);
53 #[link_name = "acb_equal__extern"]
54 pub fn acb_equal(x: *const acb_struct, y: *const acb_struct) -> libc::c_int;
55 #[link_name = "acb_equal_si__extern"]
56 pub fn acb_equal_si(x: *const acb_struct, y: slong) -> libc::c_int;
57 #[link_name = "acb_eq__extern"]
58 pub fn acb_eq(x: *const acb_struct, y: *const acb_struct) -> libc::c_int;
59 #[link_name = "acb_ne__extern"]
60 pub fn acb_ne(x: *const acb_struct, y: *const acb_struct) -> libc::c_int;
61 #[link_name = "acb_overlaps__extern"]
62 pub fn acb_overlaps(x: *const acb_struct, y: *const acb_struct) -> libc::c_int;
63 #[link_name = "acb_contains_zero__extern"]
64 pub fn acb_contains_zero(x: *const acb_struct) -> libc::c_int;
65 #[link_name = "acb_contains_fmpq__extern"]
66 pub fn acb_contains_fmpq(x: *const acb_struct, y: *const fmpq) -> libc::c_int;
67 #[link_name = "acb_contains_fmpz__extern"]
68 pub fn acb_contains_fmpz(x: *const acb_struct, y: *const fmpz) -> libc::c_int;
69 #[link_name = "acb_contains__extern"]
70 pub fn acb_contains(x: *const acb_struct, y: *const acb_struct) -> libc::c_int;
71 #[link_name = "acb_contains_interior__extern"]
72 pub fn acb_contains_interior(x: *const acb_struct, y: *const acb_struct) -> libc::c_int;
73 #[link_name = "acb_set_ui__extern"]
74 pub fn acb_set_ui(z: *mut acb_struct, c: ulong);
75 #[link_name = "acb_set_d__extern"]
76 pub fn acb_set_d(z: *mut acb_struct, c: f64);
77 #[link_name = "acb_set_si__extern"]
78 pub fn acb_set_si(z: *mut acb_struct, c: slong);
79 #[link_name = "acb_set_si_si__extern"]
80 pub fn acb_set_si_si(z: *mut acb_struct, x: slong, y: slong);
81 #[link_name = "acb_set_d_d__extern"]
82 pub fn acb_set_d_d(z: *mut acb_struct, x: f64, y: f64);
83 #[link_name = "acb_set_fmpz__extern"]
84 pub fn acb_set_fmpz(z: *mut acb_struct, c: *const fmpz);
85 #[link_name = "acb_set_fmpz_fmpz__extern"]
86 pub fn acb_set_fmpz_fmpz(z: *mut acb_struct, x: *const fmpz, y: *const fmpz);
87 #[link_name = "acb_set_round_fmpz__extern"]
88 pub fn acb_set_round_fmpz(z: *mut acb_struct, y: *const fmpz, prec: slong);
89 pub fn acb_contains_int(x: *const acb_struct) -> libc::c_int;
90 pub fn acb_get_unique_fmpz(z: *mut fmpz, x: *const acb_struct) -> libc::c_int;
91 #[link_name = "acb_set_fmpq__extern"]
92 pub fn acb_set_fmpq(z: *mut acb_struct, c: *const fmpq, prec: slong);
93 #[link_name = "acb_set_arb__extern"]
94 pub fn acb_set_arb(z: *mut acb_struct, c: *const arb_struct);
95 #[link_name = "acb_set_arb_arb__extern"]
96 pub fn acb_set_arb_arb(z: *mut acb_struct, x: *const arb_struct, y: *const arb_struct);
97 #[link_name = "acb_set_round_arb__extern"]
98 pub fn acb_set_round_arb(z: *mut acb_struct, x: *const arb_struct, prec: slong);
99 #[link_name = "acb_trim__extern"]
100 pub fn acb_trim(z: *mut acb_struct, x: *const acb_struct);
101 #[link_name = "acb_add_error_arf__extern"]
102 pub fn acb_add_error_arf(x: *mut acb_struct, err: *const arf_struct);
103 #[link_name = "acb_add_error_mag__extern"]
104 pub fn acb_add_error_mag(x: *mut acb_struct, err: *const mag_struct);
105 #[link_name = "acb_add_error_arb__extern"]
106 pub fn acb_add_error_arb(x: *mut acb_struct, err: *const arb_struct);
107 pub fn acb_get_mag(z: *mut mag_struct, x: *const acb_struct);
108 pub fn acb_get_mag_lower(z: *mut mag_struct, x: *const acb_struct);
109 pub fn acb_get_abs_ubound_arf(u: *mut arf_struct, z: *const acb_struct, prec: slong);
110 pub fn acb_get_abs_lbound_arf(u: *mut arf_struct, z: *const acb_struct, prec: slong);
111 pub fn acb_get_rad_ubound_arf(u: *mut arf_struct, z: *const acb_struct, prec: slong);
112 #[link_name = "acb_union__extern"]
113 pub fn acb_union(res: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
114 pub fn acb_arg(r: *mut arb_struct, z: *const acb_struct, prec: slong);
115 pub fn acb_sgn(res: *mut acb_struct, z: *const acb_struct, prec: slong);
116 pub fn acb_csgn(res: *mut arb_struct, z: *const acb_struct);
117 pub fn acb_real_abs(
118 res: *mut acb_struct,
119 z: *const acb_struct,
120 analytic: libc::c_int,
121 prec: slong,
122 );
123 pub fn acb_real_sgn(
124 res: *mut acb_struct,
125 z: *const acb_struct,
126 analytic: libc::c_int,
127 prec: slong,
128 );
129 pub fn acb_real_heaviside(
130 res: *mut acb_struct,
131 z: *const acb_struct,
132 analytic: libc::c_int,
133 prec: slong,
134 );
135 pub fn acb_real_floor(
136 res: *mut acb_struct,
137 z: *const acb_struct,
138 analytic: libc::c_int,
139 prec: slong,
140 );
141 pub fn acb_real_ceil(
142 res: *mut acb_struct,
143 z: *const acb_struct,
144 analytic: libc::c_int,
145 prec: slong,
146 );
147 pub fn acb_real_max(
148 res: *mut acb_struct,
149 x: *const acb_struct,
150 y: *const acb_struct,
151 analytic: libc::c_int,
152 prec: slong,
153 );
154 pub fn acb_real_min(
155 res: *mut acb_struct,
156 x: *const acb_struct,
157 y: *const acb_struct,
158 analytic: libc::c_int,
159 prec: slong,
160 );
161 pub fn acb_real_sqrtpos(
162 res: *mut acb_struct,
163 z: *const acb_struct,
164 analytic: libc::c_int,
165 prec: slong,
166 );
167 pub fn acb_sqrt_analytic(
168 res: *mut acb_struct,
169 z: *const acb_struct,
170 analytic: libc::c_int,
171 prec: slong,
172 );
173 pub fn acb_rsqrt_analytic(
174 res: *mut acb_struct,
175 z: *const acb_struct,
176 analytic: libc::c_int,
177 prec: slong,
178 );
179 pub fn acb_log_analytic(
180 res: *mut acb_struct,
181 z: *const acb_struct,
182 analytic: libc::c_int,
183 prec: slong,
184 );
185 pub fn acb_pow_analytic(
186 res: *mut acb_struct,
187 z: *const acb_struct,
188 w: *const acb_struct,
189 analytic: libc::c_int,
190 prec: slong,
191 );
192 #[link_name = "acb_add__extern"]
193 pub fn acb_add(z: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
194 #[link_name = "acb_sub__extern"]
195 pub fn acb_sub(z: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
196 #[link_name = "acb_add_si__extern"]
197 pub fn acb_add_si(z: *mut acb_struct, x: *const acb_struct, c: slong, prec: slong);
198 #[link_name = "acb_add_ui__extern"]
199 pub fn acb_add_ui(z: *mut acb_struct, x: *const acb_struct, c: ulong, prec: slong);
200 #[link_name = "acb_sub_si__extern"]
201 pub fn acb_sub_si(z: *mut acb_struct, x: *const acb_struct, c: slong, prec: slong);
202 #[link_name = "acb_sub_ui__extern"]
203 pub fn acb_sub_ui(z: *mut acb_struct, x: *const acb_struct, c: ulong, prec: slong);
204 #[link_name = "acb_add_fmpz__extern"]
205 pub fn acb_add_fmpz(z: *mut acb_struct, x: *const acb_struct, y: *const fmpz, prec: slong);
206 #[link_name = "acb_add_arb__extern"]
207 pub fn acb_add_arb(z: *mut acb_struct, x: *const acb_struct, y: *const arb_struct, prec: slong);
208 #[link_name = "acb_sub_fmpz__extern"]
209 pub fn acb_sub_fmpz(z: *mut acb_struct, x: *const acb_struct, y: *const fmpz, prec: slong);
210 #[link_name = "acb_sub_arb__extern"]
211 pub fn acb_sub_arb(z: *mut acb_struct, x: *const acb_struct, y: *const arb_struct, prec: slong);
212 #[link_name = "acb_neg__extern"]
213 pub fn acb_neg(z: *mut acb_struct, x: *const acb_struct);
214 #[link_name = "acb_conj__extern"]
215 pub fn acb_conj(z: *mut acb_struct, x: *const acb_struct);
216 #[link_name = "acb_abs__extern"]
217 pub fn acb_abs(u: *mut arb_struct, z: *const acb_struct, prec: slong);
218 #[link_name = "acb_mul_ui__extern"]
219 pub fn acb_mul_ui(z: *mut acb_struct, x: *const acb_struct, y: ulong, prec: slong);
220 #[link_name = "acb_mul_si__extern"]
221 pub fn acb_mul_si(z: *mut acb_struct, x: *const acb_struct, y: slong, prec: slong);
222 #[link_name = "acb_mul_fmpz__extern"]
223 pub fn acb_mul_fmpz(z: *mut acb_struct, x: *const acb_struct, y: *const fmpz, prec: slong);
224 #[link_name = "acb_mul_arb__extern"]
225 pub fn acb_mul_arb(z: *mut acb_struct, x: *const acb_struct, y: *const arb_struct, prec: slong);
226 #[link_name = "acb_mul_onei__extern"]
227 pub fn acb_mul_onei(z: *mut acb_struct, x: *const acb_struct);
228 #[link_name = "acb_div_onei__extern"]
229 pub fn acb_div_onei(z: *mut acb_struct, x: *const acb_struct);
230 #[link_name = "acb_mul_i_pow_si__extern"]
231 pub fn acb_mul_i_pow_si(z: *mut acb_struct, x: *const acb_struct, k: slong);
232 pub fn acb_mul(z: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
233 pub fn acb_mul_naive(
234 z: *mut acb_struct,
235 x: *const acb_struct,
236 y: *const acb_struct,
237 prec: slong,
238 );
239 #[link_name = "acb_mul_2exp_si__extern"]
240 pub fn acb_mul_2exp_si(z: *mut acb_struct, x: *const acb_struct, e: slong);
241 #[link_name = "acb_mul_2exp_fmpz__extern"]
242 pub fn acb_mul_2exp_fmpz(z: *mut acb_struct, x: *const acb_struct, c: *const fmpz);
243 pub fn acb_addmul(z: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
244 pub fn acb_submul(z: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
245 #[link_name = "acb_addmul_ui__extern"]
246 pub fn acb_addmul_ui(z: *mut acb_struct, x: *const acb_struct, y: ulong, prec: slong);
247 #[link_name = "acb_addmul_si__extern"]
248 pub fn acb_addmul_si(z: *mut acb_struct, x: *const acb_struct, y: slong, prec: slong);
249 #[link_name = "acb_submul_ui__extern"]
250 pub fn acb_submul_ui(z: *mut acb_struct, x: *const acb_struct, y: ulong, prec: slong);
251 #[link_name = "acb_submul_si__extern"]
252 pub fn acb_submul_si(z: *mut acb_struct, x: *const acb_struct, y: slong, prec: slong);
253 #[link_name = "acb_addmul_fmpz__extern"]
254 pub fn acb_addmul_fmpz(z: *mut acb_struct, x: *const acb_struct, y: *const fmpz, prec: slong);
255 #[link_name = "acb_submul_fmpz__extern"]
256 pub fn acb_submul_fmpz(z: *mut acb_struct, x: *const acb_struct, y: *const fmpz, prec: slong);
257 #[link_name = "acb_addmul_arb__extern"]
258 pub fn acb_addmul_arb(
259 z: *mut acb_struct,
260 x: *const acb_struct,
261 y: *const arb_struct,
262 prec: slong,
263 );
264 #[link_name = "acb_submul_arb__extern"]
265 pub fn acb_submul_arb(
266 z: *mut acb_struct,
267 x: *const acb_struct,
268 y: *const arb_struct,
269 prec: slong,
270 );
271 pub fn acb_dot_simple(
272 res: *mut acb_struct,
273 initial: *const acb_struct,
274 subtract: libc::c_int,
275 x: acb_srcptr,
276 xstep: slong,
277 y: acb_srcptr,
278 ystep: slong,
279 len: slong,
280 prec: slong,
281 );
282 pub fn acb_dot_precise(
283 res: *mut acb_struct,
284 initial: *const acb_struct,
285 subtract: libc::c_int,
286 x: acb_srcptr,
287 xstep: slong,
288 y: acb_srcptr,
289 ystep: slong,
290 len: slong,
291 prec: slong,
292 );
293 pub fn acb_dot(
294 res: *mut acb_struct,
295 initial: *const acb_struct,
296 subtract: libc::c_int,
297 x: acb_srcptr,
298 xstep: slong,
299 y: acb_srcptr,
300 ystep: slong,
301 len: slong,
302 prec: slong,
303 );
304 pub fn acb_approx_dot(
305 res: *mut acb_struct,
306 initial: *const acb_struct,
307 subtract: libc::c_int,
308 x: acb_srcptr,
309 xstep: slong,
310 y: acb_srcptr,
311 ystep: slong,
312 len: slong,
313 prec: slong,
314 );
315 pub fn acb_dot_ui(
316 res: *mut acb_struct,
317 initial: *const acb_struct,
318 subtract: libc::c_int,
319 x: acb_srcptr,
320 xstep: slong,
321 y: *const ulong,
322 ystep: slong,
323 len: slong,
324 prec: slong,
325 );
326 pub fn acb_dot_si(
327 res: *mut acb_struct,
328 initial: *const acb_struct,
329 subtract: libc::c_int,
330 x: acb_srcptr,
331 xstep: slong,
332 y: *const slong,
333 ystep: slong,
334 len: slong,
335 prec: slong,
336 );
337 pub fn acb_dot_uiui(
338 res: *mut acb_struct,
339 initial: *const acb_struct,
340 subtract: libc::c_int,
341 x: acb_srcptr,
342 xstep: slong,
343 y: *const ulong,
344 ystep: slong,
345 len: slong,
346 prec: slong,
347 );
348 pub fn acb_dot_siui(
349 res: *mut acb_struct,
350 initial: *const acb_struct,
351 subtract: libc::c_int,
352 x: acb_srcptr,
353 xstep: slong,
354 y: *const ulong,
355 ystep: slong,
356 len: slong,
357 prec: slong,
358 );
359 pub fn acb_dot_fmpz(
360 res: *mut acb_struct,
361 initial: *const acb_struct,
362 subtract: libc::c_int,
363 x: acb_srcptr,
364 xstep: slong,
365 y: *const fmpz,
366 ystep: slong,
367 len: slong,
368 prec: slong,
369 );
370 pub fn acb_inv(z: *mut acb_struct, x: *const acb_struct, prec: slong);
371 pub fn acb_div(z: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
372 #[link_name = "acb_div_ui__extern"]
373 pub fn acb_div_ui(z: *mut acb_struct, x: *const acb_struct, c: ulong, prec: slong);
374 #[link_name = "acb_div_si__extern"]
375 pub fn acb_div_si(z: *mut acb_struct, x: *const acb_struct, c: slong, prec: slong);
376 #[link_name = "acb_div_arb__extern"]
377 pub fn acb_div_arb(z: *mut acb_struct, x: *const acb_struct, c: *const arb_struct, prec: slong);
378 #[link_name = "acb_div_fmpz__extern"]
379 pub fn acb_div_fmpz(z: *mut acb_struct, x: *const acb_struct, c: *const fmpz, prec: slong);
380 pub fn acb_cube(y: *mut acb_struct, x: *const acb_struct, prec: slong);
381 pub fn acb_pow_fmpz(y: *mut acb_struct, b: *const acb_struct, e: *const fmpz, prec: slong);
382 pub fn acb_pow_ui(y: *mut acb_struct, b: *const acb_struct, e: ulong, prec: slong);
383 pub fn acb_pow_si(y: *mut acb_struct, b: *const acb_struct, e: slong, prec: slong);
384 #[link_name = "acb_const_pi__extern"]
385 pub fn acb_const_pi(x: *mut acb_struct, prec: slong);
386 pub fn acb_log(r: *mut acb_struct, z: *const acb_struct, prec: slong);
387 pub fn acb_log1p(r: *mut acb_struct, z: *const acb_struct, prec: slong);
388 pub fn acb_exp(r: *mut acb_struct, z: *const acb_struct, prec: slong);
389 pub fn acb_exp_pi_i(r: *mut acb_struct, z: *const acb_struct, prec: slong);
390 pub fn acb_exp_invexp(
391 r: *mut acb_struct,
392 s: *mut acb_struct,
393 z: *const acb_struct,
394 prec: slong,
395 );
396 pub fn acb_expm1(r: *mut acb_struct, z: *const acb_struct, prec: slong);
397 pub fn acb_sin(r: *mut acb_struct, z: *const acb_struct, prec: slong);
398 pub fn acb_cos(r: *mut acb_struct, z: *const acb_struct, prec: slong);
399 pub fn acb_sin_cos(s: *mut acb_struct, c: *mut acb_struct, z: *const acb_struct, prec: slong);
400 pub fn acb_tan(r: *mut acb_struct, z: *const acb_struct, prec: slong);
401 pub fn acb_cot(r: *mut acb_struct, z: *const acb_struct, prec: slong);
402 pub fn acb_asin(r: *mut acb_struct, z: *const acb_struct, prec: slong);
403 pub fn acb_acos(r: *mut acb_struct, z: *const acb_struct, prec: slong);
404 pub fn acb_atan(r: *mut acb_struct, z: *const acb_struct, prec: slong);
405 pub fn acb_asinh(r: *mut acb_struct, z: *const acb_struct, prec: slong);
406 pub fn acb_acosh(r: *mut acb_struct, z: *const acb_struct, prec: slong);
407 pub fn acb_atanh(r: *mut acb_struct, z: *const acb_struct, prec: slong);
408 #[link_name = "acb_sinh__extern"]
409 pub fn acb_sinh(y: *mut acb_struct, x: *const acb_struct, prec: slong);
410 #[link_name = "acb_cosh__extern"]
411 pub fn acb_cosh(y: *mut acb_struct, x: *const acb_struct, prec: slong);
412 #[link_name = "acb_sinh_cosh__extern"]
413 pub fn acb_sinh_cosh(y: *mut acb_struct, z: *mut acb_struct, x: *const acb_struct, prec: slong);
414 #[link_name = "acb_tanh__extern"]
415 pub fn acb_tanh(y: *mut acb_struct, x: *const acb_struct, prec: slong);
416 #[link_name = "acb_coth__extern"]
417 pub fn acb_coth(y: *mut acb_struct, x: *const acb_struct, prec: slong);
418 pub fn acb_sech(r: *mut acb_struct, z: *const acb_struct, prec: slong);
419 pub fn acb_csch(r: *mut acb_struct, z: *const acb_struct, prec: slong);
420 #[link_name = "acb_sec__extern"]
421 pub fn acb_sec(y: *mut acb_struct, x: *const acb_struct, prec: slong);
422 #[link_name = "acb_csc__extern"]
423 pub fn acb_csc(y: *mut acb_struct, x: *const acb_struct, prec: slong);
424 pub fn acb_sin_pi(r: *mut acb_struct, z: *const acb_struct, prec: slong);
425 pub fn acb_cos_pi(r: *mut acb_struct, z: *const acb_struct, prec: slong);
426 pub fn acb_sin_cos_pi(
427 s: *mut acb_struct,
428 c: *mut acb_struct,
429 z: *const acb_struct,
430 prec: slong,
431 );
432 pub fn acb_tan_pi(r: *mut acb_struct, z: *const acb_struct, prec: slong);
433 pub fn acb_cot_pi(r: *mut acb_struct, z: *const acb_struct, prec: slong);
434 pub fn acb_csc_pi(y: *mut acb_struct, x: *const acb_struct, prec: slong);
435 pub fn acb_sinc(res: *mut acb_struct, z: *const acb_struct, prec: slong);
436 pub fn acb_sinc_pi(res: *mut acb_struct, z: *const acb_struct, prec: slong);
437 pub fn acb_pow_arb(z: *mut acb_struct, x: *const acb_struct, y: *const arb_struct, prec: slong);
438 pub fn acb_pow(r: *mut acb_struct, x: *const acb_struct, y: *const acb_struct, prec: slong);
439 pub fn acb_sqrt(y: *mut acb_struct, x: *const acb_struct, prec: slong);
440 pub fn acb_rsqrt(y: *mut acb_struct, x: *const acb_struct, prec: slong);
441 pub fn acb_sqrts(y1: *mut acb_struct, y2: *mut acb_struct, x: *const acb_struct, prec: slong);
442 pub fn acb_root_ui(y: *mut acb_struct, x: *const acb_struct, k: ulong, prec: slong);
443 pub fn acb_quadratic_roots_fmpz(
444 r1: *mut acb_struct,
445 r2: *mut acb_struct,
446 a: *const fmpz,
447 b: *const fmpz,
448 c: *const fmpz,
449 prec: slong,
450 );
451 pub fn acb_chebyshev_t_ui(a: *mut acb_struct, n: ulong, x: *const acb_struct, prec: slong);
452 pub fn acb_chebyshev_t2_ui(
453 a: *mut acb_struct,
454 b: *mut acb_struct,
455 n: ulong,
456 x: *const acb_struct,
457 prec: slong,
458 );
459 pub fn acb_chebyshev_u_ui(a: *mut acb_struct, n: ulong, x: *const acb_struct, prec: slong);
460 pub fn acb_chebyshev_u2_ui(
461 a: *mut acb_struct,
462 b: *mut acb_struct,
463 n: ulong,
464 x: *const acb_struct,
465 prec: slong,
466 );
467 pub fn acb_rising_ui(z: *mut acb_struct, x: *const acb_struct, n: ulong, prec: slong);
468 pub fn acb_rising(z: *mut acb_struct, x: *const acb_struct, n: *const acb_struct, prec: slong);
469 pub fn acb_rising2_ui(
470 u: *mut acb_struct,
471 v: *mut acb_struct,
472 x: *const acb_struct,
473 n: ulong,
474 prec: slong,
475 );
476 pub fn acb_rising_ui_get_mag(bound: *mut mag_struct, s: *const acb_struct, n: ulong);
477 pub fn acb_gamma(y: *mut acb_struct, x: *const acb_struct, prec: slong);
478 pub fn acb_rgamma(y: *mut acb_struct, x: *const acb_struct, prec: slong);
479 pub fn acb_lgamma(y: *mut acb_struct, x: *const acb_struct, prec: slong);
480 pub fn acb_log_sin_pi(res: *mut acb_struct, z: *const acb_struct, prec: slong);
481 pub fn acb_digamma(y: *mut acb_struct, x: *const acb_struct, prec: slong);
482 pub fn acb_zeta(z: *mut acb_struct, s: *const acb_struct, prec: slong);
483 pub fn acb_hurwitz_zeta(
484 z: *mut acb_struct,
485 s: *const acb_struct,
486 a: *const acb_struct,
487 prec: slong,
488 );
489 pub fn acb_polygamma(
490 res: *mut acb_struct,
491 s: *const acb_struct,
492 z: *const acb_struct,
493 prec: slong,
494 );
495 pub fn acb_bernoulli_poly_ui(res: *mut acb_struct, n: ulong, x: *const acb_struct, prec: slong);
496 pub fn acb_log_barnes_g(res: *mut acb_struct, z: *const acb_struct, prec: slong);
497 pub fn acb_barnes_g(res: *mut acb_struct, z: *const acb_struct, prec: slong);
498 pub fn acb_polylog(w: *mut acb_struct, s: *const acb_struct, z: *const acb_struct, prec: slong);
499 pub fn acb_polylog_si(w: *mut acb_struct, s: slong, z: *const acb_struct, prec: slong);
500 pub fn acb_agm1(m: *mut acb_struct, z: *const acb_struct, prec: slong);
501 pub fn acb_agm1_cpx(m: acb_ptr, z: *const acb_struct, len: slong, prec: slong);
502 pub fn acb_agm(res: *mut acb_struct, a: *const acb_struct, b: *const acb_struct, prec: slong);
503 pub fn acb_lambertw_asymp(
504 res: *mut acb_struct,
505 z: *const acb_struct,
506 k: *const fmpz,
507 L: slong,
508 M: slong,
509 prec: slong,
510 );
511 pub fn acb_lambertw_check_branch(
512 w: *const acb_struct,
513 k: *const fmpz,
514 prec: slong,
515 ) -> libc::c_int;
516 pub fn acb_lambertw_bound_deriv(
517 res: *mut mag_struct,
518 z: *const acb_struct,
519 ez1: *const acb_struct,
520 k: *const fmpz,
521 );
522 pub fn acb_lambertw(
523 res: *mut acb_struct,
524 z: *const acb_struct,
525 k: *const fmpz,
526 flags: libc::c_int,
527 prec: slong,
528 );
529 #[link_name = "acb_sqr__extern"]
530 pub fn acb_sqr(res: *mut acb_struct, val: *const acb_struct, prec: slong);
531 #[link_name = "acb_is_finite__extern"]
532 pub fn acb_is_finite(x: *const acb_struct) -> libc::c_int;
533 #[link_name = "acb_indeterminate__extern"]
534 pub fn acb_indeterminate(x: *mut acb_struct);
535 pub fn _acb_vec_entry_ptr(vec: acb_ptr, i: slong) -> acb_ptr;
536 pub fn _acb_vec_zero(A: acb_ptr, n: slong);
537 pub fn _acb_vec_is_zero(vec: acb_srcptr, len: slong) -> libc::c_int;
538 pub fn _acb_vec_set(res: acb_ptr, vec: acb_srcptr, len: slong);
539 pub fn _acb_vec_set_round(res: acb_ptr, vec: acb_srcptr, len: slong, prec: slong);
540 pub fn _acb_vec_swap(res: acb_ptr, vec: acb_ptr, len: slong);
541 pub fn _acb_vec_neg(res: acb_ptr, vec: acb_srcptr, len: slong);
542 pub fn _acb_vec_add(res: acb_ptr, vec1: acb_srcptr, vec2: acb_srcptr, len: slong, prec: slong);
543 pub fn _acb_vec_sub(res: acb_ptr, vec1: acb_srcptr, vec2: acb_srcptr, len: slong, prec: slong);
544 pub fn _acb_vec_scalar_submul(
545 res: acb_ptr,
546 vec: acb_srcptr,
547 len: slong,
548 c: *const acb_struct,
549 prec: slong,
550 );
551 pub fn _acb_vec_scalar_addmul(
552 res: acb_ptr,
553 vec: acb_srcptr,
554 len: slong,
555 c: *const acb_struct,
556 prec: slong,
557 );
558 pub fn _acb_vec_scalar_mul(
559 res: acb_ptr,
560 vec: acb_srcptr,
561 len: slong,
562 c: *const acb_struct,
563 prec: slong,
564 );
565 pub fn _acb_vec_scalar_mul_ui(res: acb_ptr, vec: acb_srcptr, len: slong, c: ulong, prec: slong);
566 pub fn _acb_vec_scalar_mul_2exp_si(res: acb_ptr, vec: acb_srcptr, len: slong, c: slong);
567 pub fn _acb_vec_scalar_mul_onei(res: acb_ptr, vec: acb_srcptr, len: slong);
568 pub fn _acb_vec_scalar_div_ui(res: acb_ptr, vec: acb_srcptr, len: slong, c: ulong, prec: slong);
569 pub fn _acb_vec_scalar_div(
570 res: acb_ptr,
571 vec: acb_srcptr,
572 len: slong,
573 c: *const acb_struct,
574 prec: slong,
575 );
576 pub fn _acb_vec_scalar_mul_arb(
577 res: acb_ptr,
578 vec: acb_srcptr,
579 len: slong,
580 c: *const arb_struct,
581 prec: slong,
582 );
583 pub fn _acb_vec_scalar_div_arb(
584 res: acb_ptr,
585 vec: acb_srcptr,
586 len: slong,
587 c: *const arb_struct,
588 prec: slong,
589 );
590 pub fn _acb_vec_scalar_mul_fmpz(
591 res: acb_ptr,
592 vec: acb_srcptr,
593 len: slong,
594 c: *const fmpz,
595 prec: slong,
596 );
597 pub fn _acb_vec_scalar_div_fmpz(
598 res: acb_ptr,
599 vec: acb_srcptr,
600 len: slong,
601 c: *const fmpz,
602 prec: slong,
603 );
604 pub fn _acb_vec_sqr(res: acb_ptr, vec: acb_srcptr, len: slong, prec: slong);
605 pub fn acb_fprint(file: *mut FILE, x: *const acb_struct);
606 pub fn acb_fprintd(file: *mut FILE, z: *const acb_struct, digits: slong);
607 pub fn acb_fprintn(fp: *mut FILE, z: *const acb_struct, digits: slong, flags: ulong);
608 pub fn acb_print(x: *const acb_struct);
609 pub fn acb_printd(z: *const acb_struct, digits: slong);
610 pub fn acb_printn(x: *const acb_struct, digits: slong, flags: ulong);
611 pub fn _acb_vec_printd(vec: acb_srcptr, len: slong, ndigits: slong);
612 pub fn _acb_vec_printn(vec: acb_srcptr, len: slong, ndigits: slong, flags: ulong);
613 pub fn acb_randtest(
614 z: *mut acb_struct,
615 state: *mut flint_rand_struct,
616 prec: slong,
617 mag_bits: slong,
618 );
619 pub fn acb_randtest_special(
620 z: *mut acb_struct,
621 state: *mut flint_rand_struct,
622 prec: slong,
623 mag_bits: slong,
624 );
625 pub fn acb_randtest_precise(
626 z: *mut acb_struct,
627 state: *mut flint_rand_struct,
628 prec: slong,
629 mag_bits: slong,
630 );
631 pub fn acb_randtest_param(
632 z: *mut acb_struct,
633 state: *mut flint_rand_struct,
634 prec: slong,
635 mag_bits: slong,
636 );
637 pub fn acb_urandom(z: *mut acb_struct, state: *mut flint_rand_struct, prec: slong);
638 pub fn acb_rel_error_bits(x: *const acb_struct) -> slong;
639 #[link_name = "acb_rel_accuracy_bits__extern"]
640 pub fn acb_rel_accuracy_bits(x: *const acb_struct) -> slong;
641 pub fn acb_rel_one_accuracy_bits(x: *const acb_struct) -> slong;
642 #[link_name = "acb_bits__extern"]
643 pub fn acb_bits(x: *const acb_struct) -> slong;
644 #[link_name = "acb_is_real__extern"]
645 pub fn acb_is_real(x: *const acb_struct) -> libc::c_int;
646 pub fn _acb_vec_is_real(v: acb_srcptr, len: slong) -> libc::c_int;
647 pub fn _acb_vec_is_finite(vec: acb_srcptr, len: slong) -> libc::c_int;
648 pub fn _acb_vec_equal(vec1: acb_srcptr, vec2: acb_srcptr, len: slong) -> libc::c_int;
649 pub fn _acb_vec_overlaps(vec1: acb_srcptr, vec2: acb_srcptr, len: slong) -> libc::c_int;
650 pub fn _acb_vec_contains(vec1: acb_srcptr, vec2: acb_srcptr, len: slong) -> libc::c_int;
651 pub fn _acb_vec_get_real(re: arb_ptr, vec: acb_srcptr, len: slong);
652 pub fn _acb_vec_get_imag(im: arb_ptr, vec: acb_srcptr, len: slong);
653 pub fn _acb_vec_set_real_imag(vec: acb_ptr, re: arb_srcptr, im: arb_srcptr, len: slong);
654 pub fn _acb_vec_bits(vec: acb_srcptr, len: slong) -> slong;
655 pub fn _acb_vec_set_powers(xs: acb_ptr, x: *const acb_struct, len: slong, prec: slong);
656 pub fn _acb_vec_add_error_arf_vec(res: acb_ptr, err: arf_srcptr, len: slong);
657 pub fn _acb_vec_add_error_mag_vec(res: acb_ptr, err: mag_srcptr, len: slong);
658 pub fn _acb_vec_indeterminate(vec: acb_ptr, len: slong);
659 pub fn _acb_vec_trim(res: acb_ptr, vec: acb_srcptr, len: slong);
660 pub fn _acb_vec_get_unique_fmpz_vec(res: *mut fmpz, vec: acb_srcptr, len: slong)
661 -> libc::c_int;
662 pub fn _acb_vec_sort_pretty(vec: acb_ptr, len: slong);
663 pub fn acb_unit_root(res: *mut acb_struct, order: ulong, prec: slong);
664 pub fn _acb_vec_unit_roots(z: acb_ptr, order: slong, len: slong, prec: slong);
665 #[link_name = "acb_allocated_bytes__extern"]
666 pub fn acb_allocated_bytes(x: *const acb_struct) -> slong;
667 pub fn _acb_vec_allocated_bytes(vec: acb_srcptr, len: slong) -> slong;
668 pub fn _acb_vec_estimate_allocated_bytes(len: slong, prec: slong) -> f64;
669}