Skip to content

Commit 592dc20

Browse files
committed
bindings: auto fmpz_poly, fmpz_poly_factor, fmpz_mat, fmpz_lll
1 parent 3cd9eb2 commit 592dc20

File tree

10 files changed

+117
-134
lines changed

10 files changed

+117
-134
lines changed

bin/all_rst_to_pxd.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ set -e
66

77
modules="\
88
fmpz\
9+
fmpz_factor\
910
fmpz_poly\
11+
fmpz_poly_factor\
12+
fmpz_mat\
13+
fmpz_lll\
1014
"
1115

1216
for module in $modules; do

src/flint/flintlib/acb_theta.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ from flint.flintlib.acb cimport acb_t, acb_srcptr, acb_ptr
22
from flint.flintlib.acb_poly cimport acb_poly_struct, acb_poly_t
33
from flint.flintlib.arb cimport arb_t, arb_ptr, arb_srcptr
44
from flint.flintlib.flint cimport ulong, slong, flint_rand_t
5-
from flint.flintlib.fmpz_mat cimport fmpz_mat_t, fmpz_mat_struct
5+
from flint.flintlib.fmpz_types cimport fmpz_mat_t, fmpz_mat_struct
66
from flint.flintlib.acb_mat cimport acb_mat_t
77
from flint.flintlib.arb_mat cimport arb_mat_t
88
from flint.flintlib.arf cimport arf_t

src/flint/flintlib/fmpz_factor.pxd

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
1-
from flint.flintlib.flint cimport fmpz_struct, ulong, mp_limb_t, slong, flint_rand_t
2-
from flint.flintlib.fmpz_types cimport fmpz_t
1+
from flint.flintlib.flint cimport flint_rand_t, slong, ulong
2+
from flint.flintlib.fmpz_types cimport fmpz_factor_t, fmpz_t
3+
4+
# unknown type FILE
5+
# unknown type ecm_t
6+
# unknown type nn_ptr
37

4-
cdef extern from "flint/fmpz_factor.h":
5-
ctypedef struct fmpz_factor_struct:
6-
int sign
7-
fmpz_struct * p
8-
fmpz_struct * exp
9-
long alloc
10-
long num
11-
ctypedef fmpz_factor_struct fmpz_factor_t[1]
128

13-
# from here on is parsed
9+
cdef extern from "flint/fmpz_factor.h":
1410
void fmpz_factor_init(fmpz_factor_t factor)
1511
void fmpz_factor_clear(fmpz_factor_t factor)
16-
void _fmpz_factor_append_ui(fmpz_factor_t factor, mp_limb_t p, ulong exp)
12+
void _fmpz_factor_append_ui(fmpz_factor_t factor, ulong p, ulong exp)
1713
void _fmpz_factor_append(fmpz_factor_t factor, const fmpz_t p, ulong exp)
1814
void fmpz_factor(fmpz_factor_t factor, const fmpz_t n)
1915
int fmpz_factor_smooth(fmpz_factor_t factor, const fmpz_t n, slong bits, int proved)
@@ -23,25 +19,16 @@ cdef extern from "flint/fmpz_factor.h":
2319
void fmpz_factor_refine(fmpz_factor_t res, const fmpz_factor_t f)
2420
void fmpz_factor_expand_iterative(fmpz_t n, const fmpz_factor_t factor)
2521
int fmpz_factor_pp1(fmpz_t factor, const fmpz_t n, ulong B1, ulong B2_sqrt, ulong c)
26-
int fmpz_factor_pollard_brent_single(fmpz_t p_factor, fmpz_t n_in, fmpz_t yi, fmpz_t ai, mp_limb_t max_iters)
27-
int fmpz_factor_pollard_brent(fmpz_t factor, flint_rand_t state, fmpz_t n, mp_limb_t max_tries, mp_limb_t max_iters)
28-
# void fmpz_factor_ecm_init(ecm_t ecm_inf, mp_limb_t sz)
22+
int fmpz_factor_pollard_brent_single(fmpz_t p_factor, fmpz_t n_in, fmpz_t yi, fmpz_t ai, ulong max_iters)
23+
int fmpz_factor_pollard_brent(fmpz_t factor, flint_rand_t state, fmpz_t n, ulong max_tries, ulong max_iters)
24+
# int fmpz_factor_fprint(FILE * fs, const fmpz_factor_t factor)
25+
int fmpz_factor_print(const fmpz_factor_t factor)
26+
# void fmpz_factor_ecm_init(ecm_t ecm_inf, ulong sz)
2927
# void fmpz_factor_ecm_clear(ecm_t ecm_inf)
30-
# void fmpz_factor_ecm_addmod(mp_ptr a, mp_ptr b, mp_ptr c, mp_ptr n, mp_limb_t n_size)
31-
# void fmpz_factor_ecm_submod(mp_ptr x, mp_ptr a, mp_ptr b, mp_ptr n, mp_limb_t n_size)
32-
# void fmpz_factor_ecm_double(mp_ptr x, mp_ptr z, mp_ptr x0, mp_ptr z0, mp_ptr n, ecm_t ecm_inf)
33-
# void fmpz_factor_ecm_add(mp_ptr x, mp_ptr z, mp_ptr x1, mp_ptr z1, mp_ptr x2, mp_ptr z2, mp_ptr x0, mp_ptr z0, mp_ptr n, ecm_t ecm_inf)
34-
# void fmpz_factor_ecm_mul_montgomery_ladder(mp_ptr x, mp_ptr z, mp_ptr x0, mp_ptr z0, mp_limb_t k, mp_ptr n, ecm_t ecm_inf)
35-
# int fmpz_factor_ecm_select_curve(mp_ptr f, mp_ptr sigma, mp_ptr n, ecm_t ecm_inf)
36-
# int fmpz_factor_ecm_stage_I(mp_ptr f, const mp_limb_t *prime_array, mp_limb_t num, mp_limb_t B1, mp_ptr n, ecm_t ecm_inf)
37-
# int fmpz_factor_ecm_stage_II(mp_ptr f, mp_limb_t B1, mp_limb_t B2, mp_limb_t P, mp_ptr n, ecm_t ecm_inf)
38-
# int fmpz_factor_ecm(fmpz_t f, mp_limb_t curves, mp_limb_t B1, mp_limb_t B2, flint_rand_t state, fmpz_t n_in)
39-
40-
41-
# this function wasn't in the doc
42-
void fmpz_factor_expand(fmpz_t n, const fmpz_factor_t factor)
43-
44-
cdef extern from "flint/fmpz.h":
45-
void fmpz_factor_euler_phi(fmpz_t res, const fmpz_factor_t fac)
46-
int fmpz_factor_moebius_mu(const fmpz_factor_t fac)
47-
void fmpz_factor_divisor_sigma(fmpz_t res, ulong k, const fmpz_factor_t fac)
28+
# void fmpz_factor_ecm_double(nn_ptr x, nn_ptr z, nn_ptr x0, nn_ptr z0, nn_ptr n, ecm_t ecm_inf)
29+
# void fmpz_factor_ecm_add(nn_ptr x, nn_ptr z, nn_ptr x1, nn_ptr z1, nn_ptr x2, nn_ptr z2, nn_ptr x0, nn_ptr z0, nn_ptr n, ecm_t ecm_inf)
30+
# void fmpz_factor_ecm_mul_montgomery_ladder(nn_ptr x, nn_ptr z, nn_ptr x0, nn_ptr z0, ulong k, nn_ptr n, ecm_t ecm_inf)
31+
# int fmpz_factor_ecm_select_curve(nn_ptr f, nn_ptr sigma, nn_ptr n, ecm_t ecm_inf)
32+
# int fmpz_factor_ecm_stage_I(nn_ptr f, const ulong * prime_array, ulong num, ulong B1, nn_ptr n, ecm_t ecm_inf)
33+
# int fmpz_factor_ecm_stage_II(nn_ptr f, ulong B1, ulong B2, ulong P, nn_ptr n, ecm_t ecm_inf)
34+
int fmpz_factor_ecm(fmpz_t f, ulong curves, ulong B1, ulong B2, flint_rand_t state, const fmpz_t n_in)

src/flint/flintlib/fmpz_lll.pxd

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
1-
from flint.flintlib.fmpz_mat cimport fmpz_mat_t
2-
from flint.flintlib.flint cimport flint_rand_t, slong, flint_bitcnt_t
3-
from flint.flintlib.fmpz cimport fmpz_t
1+
from flint.flintlib.flint cimport flint_bitcnt_t, flint_rand_t, slong
2+
from flint.flintlib.fmpz_types cimport fmpz_lll_t, fmpz_mat_t, fmpz_t, gram_type, rep_type
43

5-
cdef extern from "flint/fmpz_lll.h":
6-
ctypedef struct fmpz_lll_struct:
7-
double delta
8-
double eta
9-
int rt
10-
int gt
4+
# unknown type d_mat_t
5+
# unknown type fmpz_gram_t
6+
# unknown type mpf
7+
# unknown type mpf_mat_t
8+
# unknown type mpf_t
119

12-
ctypedef fmpz_lll_struct fmpz_lll_t[1]
13-
ctypedef int gram_type
14-
ctypedef int rep_type
1510

16-
# from here on is parsed
11+
cdef extern from "flint/fmpz_lll.h":
1712
void fmpz_lll_context_init_default(fmpz_lll_t fl)
1813
void fmpz_lll_context_init(fmpz_lll_t fl, double delta, double eta, rep_type rt, gram_type gt)
1914
void fmpz_lll_randtest(fmpz_lll_t fl, flint_rand_t state)
2015
double fmpz_lll_heuristic_dot(const double * vec1, const double * vec2, slong len2, const fmpz_mat_t B, slong k, slong j, slong exp_adj)
21-
# int fmpz_lll_check_babai(int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double *s, d_mat_t appB, int *expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
22-
# int fmpz_lll_check_babai_heuristic_d(int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double *s, d_mat_t appB, int *expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
23-
# int fmpz_lll_check_babai_heuristic(int kappa, fmpz_mat_t B, fmpz_mat_t U, mpf_mat_t mu, mpf_mat_t r, mpf *s, mpf_mat_t appB, fmpz_gram_t A, int a, int zeros, int kappamax, int n, mpf_t tmp, mpf_t rtmp, flint_bitcnt_t prec, const fmpz_lll_t fl)
24-
# int fmpz_lll_advance_check_babai(int cur_kappa, int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double *s, d_mat_t appB, int *expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
25-
# int fmpz_lll_advance_check_babai_heuristic_d(int cur_kappa, int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double *s, d_mat_t appB, int *expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
16+
# int fmpz_lll_check_babai(int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double * s, d_mat_t appB, int * expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
17+
# int fmpz_lll_check_babai_heuristic_d(int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double * s, d_mat_t appB, int * expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
18+
# int fmpz_lll_check_babai_heuristic(int kappa, fmpz_mat_t B, fmpz_mat_t U, mpf_mat_t mu, mpf_mat_t r, mpf * s, mpf_mat_t appB, fmpz_gram_t A, int a, int zeros, int kappamax, int n, mpf_t tmp, mpf_t rtmp, flint_bitcnt_t prec, const fmpz_lll_t fl)
19+
# int fmpz_lll_advance_check_babai(int cur_kappa, int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double * s, d_mat_t appB, int * expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
20+
# int fmpz_lll_advance_check_babai_heuristic_d(int cur_kappa, int kappa, fmpz_mat_t B, fmpz_mat_t U, d_mat_t mu, d_mat_t r, double * s, d_mat_t appB, int * expo, fmpz_gram_t A, int a, int zeros, int kappamax, int n, const fmpz_lll_t fl)
2621
int fmpz_lll_shift(const fmpz_mat_t B)
2722
int fmpz_lll_d(fmpz_mat_t B, fmpz_mat_t U, const fmpz_lll_t fl)
2823
int fmpz_lll_d_heuristic(fmpz_mat_t B, fmpz_mat_t U, const fmpz_lll_t fl)

0 commit comments

Comments
 (0)