|
| 1 | +from flint.flintlib.flint cimport mp_srcptr, flint_bitcnt_t, flint_rand_t, mp_ptr, slong, fmpz_struct, mp_limb_t, ulong |
| 2 | +from flint.flintlib.fmpz cimport fmpz_t |
| 3 | +from flint.flintlib.nmod cimport nmod_t |
| 4 | + |
| 5 | +cdef extern from "flint/fmpz_vec.h": |
| 6 | + fmpz_struct * _fmpz_vec_init(slong len) |
| 7 | + void _fmpz_vec_clear(fmpz_struct * vec, slong len) |
| 8 | + void _fmpz_vec_randtest(fmpz_struct * f, flint_rand_t state, slong len, flint_bitcnt_t bits) |
| 9 | + void _fmpz_vec_randtest_unsigned(fmpz_struct * f, flint_rand_t state, slong len, flint_bitcnt_t bits) |
| 10 | + slong _fmpz_vec_max_bits(const fmpz_struct * vec, slong len) |
| 11 | + slong _fmpz_vec_max_bits_ref(const fmpz_struct * vec, slong len) |
| 12 | + void _fmpz_vec_sum_max_bits(slong * sumabs, slong * maxabs, const fmpz_struct * vec, slong len) |
| 13 | + ulong _fmpz_vec_max_limbs(const fmpz_struct * vec, slong len) |
| 14 | + void _fmpz_vec_height(fmpz_t height, const fmpz_struct * vec, slong len) |
| 15 | + slong _fmpz_vec_height_index(const fmpz_struct * vec, slong len) |
| 16 | + # int _fmpz_vec_fread(FILE * file, fmpz_struct ** vec, slong * len) |
| 17 | + int _fmpz_vec_read(fmpz_struct ** vec, slong * len) |
| 18 | + # int _fmpz_vec_fprint(FILE * file, const fmpz_struct * vec, slong len) |
| 19 | + int _fmpz_vec_print(const fmpz_struct * vec, slong len) |
| 20 | + void _fmpz_vec_get_nmod_vec(mp_ptr res, const fmpz_struct * poly, slong len, nmod_t mod) |
| 21 | + void _fmpz_vec_set_nmod_vec(fmpz_struct * res, mp_srcptr poly, slong len, nmod_t mod) |
| 22 | + void _fmpz_vec_get_fft(mp_limb_t ** coeffs_f, const fmpz_struct * coeffs_m, slong l, slong length) |
| 23 | + void _fmpz_vec_set_fft(fmpz_struct * coeffs_m, slong length, const mp_ptr * coeffs_f, slong limbs, slong sign) |
| 24 | + slong _fmpz_vec_get_d_vec_2exp(double * appv, const fmpz_struct * vec, slong len) |
| 25 | + void _fmpz_vec_set(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2) |
| 26 | + void _fmpz_vec_swap(fmpz_struct * vec1, fmpz_struct * vec2, slong len2) |
| 27 | + void _fmpz_vec_zero(fmpz_struct * vec, slong len) |
| 28 | + void _fmpz_vec_neg(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2) |
| 29 | + void _fmpz_vec_scalar_abs(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2) |
| 30 | + int _fmpz_vec_equal(const fmpz_struct * vec1, const fmpz_struct * vec2, slong len) |
| 31 | + int _fmpz_vec_is_zero(const fmpz_struct * vec, slong len) |
| 32 | + void _fmpz_vec_max(fmpz_struct * vec1, const fmpz_struct * vec2, const fmpz_struct * vec3, slong len) |
| 33 | + void _fmpz_vec_max_inplace(fmpz_struct * vec1, const fmpz_struct * vec2, slong len) |
| 34 | + void _fmpz_vec_sort(fmpz_struct * vec, slong len) |
| 35 | + void _fmpz_vec_add(fmpz_struct * res, const fmpz_struct * vec1, const fmpz_struct * vec2, slong len2) |
| 36 | + void _fmpz_vec_sub(fmpz_struct * res, const fmpz_struct * vec1, const fmpz_struct * vec2, slong len2) |
| 37 | + void _fmpz_vec_scalar_mul_fmpz(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, const fmpz_t x) |
| 38 | + void _fmpz_vec_scalar_mul_si(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c) |
| 39 | + void _fmpz_vec_scalar_mul_ui(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong c) |
| 40 | + void _fmpz_vec_scalar_mul_2exp(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong exp) |
| 41 | + void _fmpz_vec_scalar_divexact_fmpz(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, const fmpz_t x) |
| 42 | + void _fmpz_vec_scalar_divexact_si(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c) |
| 43 | + void _fmpz_vec_scalar_divexact_ui(fmpz_struct * vec1, const fmpz_struct * vec2, ulong len2, ulong c) |
| 44 | + void _fmpz_vec_scalar_fdiv_q_fmpz(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, const fmpz_t c) |
| 45 | + void _fmpz_vec_scalar_fdiv_q_si(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c) |
| 46 | + void _fmpz_vec_scalar_fdiv_q_ui(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong c) |
| 47 | + void _fmpz_vec_scalar_fdiv_q_2exp(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong exp) |
| 48 | + void _fmpz_vec_scalar_fdiv_r_2exp(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong exp) |
| 49 | + void _fmpz_vec_scalar_tdiv_q_fmpz(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, const fmpz_t c) |
| 50 | + void _fmpz_vec_scalar_tdiv_q_si(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c) |
| 51 | + void _fmpz_vec_scalar_tdiv_q_ui(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong c) |
| 52 | + void _fmpz_vec_scalar_tdiv_q_2exp(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong exp) |
| 53 | + void _fmpz_vec_scalar_addmul_si(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c) |
| 54 | + void _fmpz_vec_scalar_addmul_ui(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, ulong c) |
| 55 | + void _fmpz_vec_scalar_addmul_fmpz(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, const fmpz_t c) |
| 56 | + void _fmpz_vec_scalar_addmul_si_2exp(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c, ulong exp) |
| 57 | + void _fmpz_vec_scalar_submul_fmpz(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, const fmpz_t x) |
| 58 | + void _fmpz_vec_scalar_submul_si(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c) |
| 59 | + void _fmpz_vec_scalar_submul_si_2exp(fmpz_struct * vec1, const fmpz_struct * vec2, slong len2, slong c, ulong e) |
| 60 | + void _fmpz_vec_sum(fmpz_t res, const fmpz_struct * vec, slong len) |
| 61 | + void _fmpz_vec_prod(fmpz_t res, const fmpz_struct * vec, slong len) |
| 62 | + void _fmpz_vec_scalar_mod_fmpz(fmpz_struct *res, const fmpz_struct *vec, slong len, const fmpz_t p) |
| 63 | + void _fmpz_vec_scalar_smod_fmpz(fmpz_struct *res, const fmpz_struct *vec, slong len, const fmpz_t p) |
| 64 | + void _fmpz_vec_content(fmpz_t res, const fmpz_struct * vec, slong len) |
| 65 | + void _fmpz_vec_content_chained(fmpz_t res, const fmpz_struct * vec, slong len, const fmpz_t input) |
| 66 | + void _fmpz_vec_lcm(fmpz_t res, const fmpz_struct * vec, slong len) |
| 67 | + void _fmpz_vec_dot(fmpz_t res, const fmpz_struct * vec1, const fmpz_struct * vec2, slong len2) |
| 68 | + void _fmpz_vec_dot_ptr(fmpz_t res, const fmpz_struct * vec1, fmpz_struct ** const vec2, slong offset, slong len) |
0 commit comments