1use crate::deps::*;
4use crate::acf_types::*;
5use crate::arb_types::*;
6use crate::arf::*;
7use crate::arf_types::*;
8use crate::flint::*;
9
10
11extern "C" {
12 #[link_name = "acf_init__extern"]
13 pub fn acf_init(x: *mut acf_struct);
14 #[link_name = "acf_clear__extern"]
15 pub fn acf_clear(x: *mut acf_struct);
16 #[link_name = "_acf_vec_init__extern"]
17 pub fn _acf_vec_init(n: slong) -> acf_ptr;
18 #[link_name = "_acf_vec_clear__extern"]
19 pub fn _acf_vec_clear(v: acf_ptr, n: slong);
20 #[link_name = "acf_real_ptr__extern"]
21 pub fn acf_real_ptr(z: *mut acf_struct) -> arf_ptr;
22 #[link_name = "acf_imag_ptr__extern"]
23 pub fn acf_imag_ptr(z: *mut acf_struct) -> arf_ptr;
24 #[link_name = "acf_set__extern"]
25 pub fn acf_set(z: *mut acf_struct, x: *const acf_struct);
26 #[link_name = "acf_swap__extern"]
27 pub fn acf_swap(z: *mut acf_struct, x: *mut acf_struct);
28 #[link_name = "acf_equal__extern"]
29 pub fn acf_equal(x: *const acf_struct, y: *const acf_struct) -> libc::c_int;
30 #[link_name = "acf_printd__extern"]
31 pub fn acf_printd(x: *const acf_struct, n: slong);
32 #[link_name = "acf_bits__extern"]
33 pub fn acf_bits(x: *const acf_struct) -> slong;
34 #[link_name = "acf_allocated_bytes__extern"]
35 pub fn acf_allocated_bytes(x: *const acf_struct) -> slong;
36 #[link_name = "acf_randtest__extern"]
37 pub fn acf_randtest(
38 x: *mut acf_struct,
39 state: *mut flint_rand_struct,
40 bits: slong,
41 mag_bits: slong,
42 );
43 #[link_name = "acf_get_mag__extern"]
44 pub fn acf_get_mag(res: *mut mag_struct, x: *const acf_struct);
45 #[link_name = "acf_neg__extern"]
46 pub fn acf_neg(z: *mut acf_struct, x: *const acf_struct);
47 #[link_name = "acf_set_round__extern"]
48 pub fn acf_set_round(
49 res: *mut acf_struct,
50 x: *const acf_struct,
51 prec: slong,
52 rnd: arf_rnd_t,
53 ) -> libc::c_int;
54 #[link_name = "acf_neg_round__extern"]
55 pub fn acf_neg_round(
56 res: *mut acf_struct,
57 x: *const acf_struct,
58 prec: slong,
59 rnd: arf_rnd_t,
60 ) -> libc::c_int;
61 #[link_name = "acf_add__extern"]
62 pub fn acf_add(
63 res: *mut acf_struct,
64 x: *const acf_struct,
65 y: *const acf_struct,
66 prec: slong,
67 rnd: arf_rnd_t,
68 ) -> libc::c_int;
69 #[link_name = "acf_sub__extern"]
70 pub fn acf_sub(
71 res: *mut acf_struct,
72 x: *const acf_struct,
73 y: *const acf_struct,
74 prec: slong,
75 rnd: arf_rnd_t,
76 ) -> libc::c_int;
77 #[link_name = "acf_mul__extern"]
78 pub fn acf_mul(
79 res: *mut acf_struct,
80 x: *const acf_struct,
81 y: *const acf_struct,
82 prec: slong,
83 rnd: arf_rnd_t,
84 ) -> libc::c_int;
85 pub fn acf_approx_inv(res: *mut acf_struct, x: *const acf_struct, prec: slong, rnd: arf_rnd_t);
86 pub fn acf_approx_div(
87 res: *mut acf_struct,
88 x: *const acf_struct,
89 y: *const acf_struct,
90 prec: slong,
91 rnd: arf_rnd_t,
92 );
93 pub fn acf_approx_sqrt(res: *mut acf_struct, x: *const acf_struct, prec: slong, rnd: arf_rnd_t);
94 pub fn acf_approx_dot(
95 res: *mut acf_struct,
96 initial: *const acf_struct,
97 subtract: libc::c_int,
98 x: acf_srcptr,
99 xstep: slong,
100 y: acf_srcptr,
101 ystep: slong,
102 len: slong,
103 prec: slong,
104 rnd: arf_rnd_t,
105 );
106}