1- from flint.flintlib.flint cimport ulong, slong, flint_rand_t
2- from flint.flintlib.arb cimport arb_struct, arb_t, arb_ptr
1+ from flint.flintlib.acb_types cimport acb_ptr, acb_srcptr, acb_t
2+ from flint.flintlib.arb_types cimport arb_ptr, arb_srcptr, arb_t, mag_srcptr, mag_t
3+ from flint.flintlib.arf_types cimport arf_srcptr, arf_t
4+ from flint.flintlib.flint cimport flint_rand_t, fmpz_struct, slong, ulong
35from flint.flintlib.fmpq cimport fmpq_t
4- from flint.flintlib.fmpz cimport fmpz_t, fmpz_struct
5- from flint.flintlib.arf cimport arf_t, arf_srcptr
6- from flint.flintlib.mag cimport mag_t, mag_srcptr
6+ from flint.flintlib.fmpz_types cimport fmpz_t
77
8- cdef extern from " flint/acb.h" :
9- ctypedef struct acb_struct:
10- arb_struct real
11- arb_struct imag
12-
13- ctypedef acb_struct * acb_ptr
14- ctypedef const acb_struct * acb_srcptr
15- ctypedef acb_struct acb_t[1 ]
8+ # unknown type FILE
169
17- arb_ptr acb_realref(const acb_t x)
18- arb_ptr acb_imagref(const acb_t x)
10+ # .. macro:: acb_realref(x)
11+ # .. macro:: acb_imagref(x)
1912
13+ cdef extern from " flint/acb.h" :
2014 void acb_init(acb_t x)
2115 void acb_clear(acb_t x)
2216 acb_ptr _acb_vec_init(slong n)
@@ -47,12 +41,16 @@ cdef extern from "flint/acb.h":
4741 void acb_add_error_arb(acb_t x, const arb_t err)
4842 void acb_get_mid(acb_t m, const acb_t x)
4943 void acb_print(const acb_t x)
44+ # void acb_fprint(FILE * file, const acb_t x)
5045 void acb_printd(const acb_t x, slong digits)
46+ # void acb_fprintd(FILE * file, const acb_t x, slong digits)
5147 void acb_printn(const acb_t x, slong digits, ulong flags)
48+ # void acb_fprintn(FILE * file, const acb_t x, slong digits, ulong flags)
5249 void acb_randtest(acb_t z, flint_rand_t state, slong prec, slong mag_bits)
5350 void acb_randtest_special(acb_t z, flint_rand_t state, slong prec, slong mag_bits)
5451 void acb_randtest_precise(acb_t z, flint_rand_t state, slong prec, slong mag_bits)
5552 void acb_randtest_param(acb_t z, flint_rand_t state, slong prec, slong mag_bits)
53+ void acb_urandom(acb_t z, flint_rand_t state, slong prec)
5654 int acb_is_zero(const acb_t z)
5755 int acb_is_one(const acb_t z)
5856 int acb_is_finite(const acb_t z)
@@ -105,6 +103,7 @@ cdef extern from "flint/acb.h":
105103 void acb_sub(acb_t z, const acb_t x, const acb_t y, slong prec)
106104 void acb_mul_onei(acb_t z, const acb_t x)
107105 void acb_div_onei(acb_t z, const acb_t x)
106+ void acb_mul_i_pow_si(acb_t z, const acb_t x, slong k)
108107 void acb_mul_ui(acb_t z, const acb_t x, ulong y, slong prec)
109108 void acb_mul_si(acb_t z, const acb_t x, slong y, slong prec)
110109 void acb_mul_fmpz(acb_t z, const acb_t x, const fmpz_t y, slong prec)
@@ -144,6 +143,7 @@ cdef extern from "flint/acb.h":
144143 void acb_sqrt_analytic(acb_t r, const acb_t z, int analytic, slong prec)
145144 void acb_rsqrt(acb_t r, const acb_t z, slong prec)
146145 void acb_rsqrt_analytic(acb_t r, const acb_t z, int analytic, slong prec)
146+ void acb_sqrts(acb_t y1, acb_t y2, const acb_t x, slong prec)
147147 void acb_quadratic_roots_fmpz(acb_t r1, acb_t r2, const fmpz_t a, const fmpz_t b, const fmpz_t c, slong prec)
148148 void acb_root_ui(acb_t r, const acb_t z, ulong k, slong prec)
149149 void acb_pow_fmpz(acb_t y, const acb_t b, const fmpz_t e, slong prec)
@@ -227,9 +227,16 @@ cdef extern from "flint/acb.h":
227227 void _acb_vec_zero(acb_ptr A, slong n)
228228 int _acb_vec_is_zero(acb_srcptr vec, slong len )
229229 int _acb_vec_is_real(acb_srcptr v, slong len )
230+ int _acb_vec_is_finite(acb_srcptr vec, slong len )
231+ int _acb_vec_equal(acb_srcptr vec1, acb_srcptr vec2, slong len )
232+ int _acb_vec_overlaps(acb_srcptr vec1, acb_srcptr vec2, slong len )
233+ int _acb_vec_contains(acb_srcptr vec1, acb_srcptr vec2, slong len )
230234 void _acb_vec_set(acb_ptr res, acb_srcptr vec, slong len )
231235 void _acb_vec_set_round(acb_ptr res, acb_srcptr vec, slong len , slong prec)
232236 void _acb_vec_swap(acb_ptr vec1, acb_ptr vec2, slong len )
237+ void _acb_vec_get_real(arb_ptr re, acb_srcptr vec, slong len )
238+ void _acb_vec_get_imag(arb_ptr im, acb_srcptr vec, slong len )
239+ void _acb_vec_set_real_imag(acb_ptr vec, arb_srcptr re, arb_srcptr im, slong len )
233240 void _acb_vec_neg(acb_ptr res, acb_srcptr vec, slong len )
234241 void _acb_vec_add(acb_ptr res, acb_srcptr vec1, acb_srcptr vec2, slong len , slong prec)
235242 void _acb_vec_sub(acb_ptr res, acb_srcptr vec1, acb_srcptr vec2, slong len , slong prec)
@@ -245,6 +252,7 @@ cdef extern from "flint/acb.h":
245252 void _acb_vec_scalar_div_arb(acb_ptr res, acb_srcptr vec, slong len , const arb_t c, slong prec)
246253 void _acb_vec_scalar_mul_fmpz(acb_ptr res, acb_srcptr vec, slong len , const fmpz_t c, slong prec)
247254 void _acb_vec_scalar_div_fmpz(acb_ptr res, acb_srcptr vec, slong len , const fmpz_t c, slong prec)
255+ void _acb_vec_sqr(acb_ptr res, acb_srcptr vec, slong len , slong prec)
248256 slong _acb_vec_bits(acb_srcptr vec, slong len )
249257 void _acb_vec_set_powers(acb_ptr xs, const acb_t x, slong len , slong prec)
250258 void _acb_vec_unit_roots(acb_ptr z, slong order, slong len , slong prec)
@@ -254,3 +262,5 @@ cdef extern from "flint/acb.h":
254262 void _acb_vec_trim(acb_ptr res, acb_srcptr vec, slong len )
255263 int _acb_vec_get_unique_fmpz_vec(fmpz_struct * res, acb_srcptr vec, slong len )
256264 void _acb_vec_sort_pretty(acb_ptr vec, slong len )
265+ void _acb_vec_printd(acb_srcptr vec, slong len , slong digits)
266+ void _acb_vec_printn(acb_srcptr vec, slong len , slong digits, ulong flags)
0 commit comments