Skip to content

Commit b951ebb

Browse files
committed
bindings: generate all fq_* bindings automatically
1 parent 9a137dd commit b951ebb

22 files changed

+400
-392
lines changed

bin/all_rst_to_pxd.sh

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,22 @@ modules=(
5353
"fmpz_poly"
5454
"fmpz"
5555
"fmpz_vec"
56-
#"fq_default_mat"
57-
#"fq_default_poly_factor"
58-
#"fq_default_poly"
59-
#"fq_default"
60-
#"fq_mat"
61-
#"fq_nmod_mat"
62-
#"fq_nmod_poly_factor"
63-
#"fq_nmod_poly"
64-
#"fq_nmod"
65-
#"fq_poly_factor"
66-
#"fq_poly"
67-
#"fq"
68-
#"fq_zech_mat"
69-
#"fq_zech_poly_factor"
70-
#"fq_zech_poly"
71-
#"fq_zech"
56+
"fq_default_mat"
57+
"fq_default_poly_factor"
58+
"fq_default_poly"
59+
"fq_default"
60+
"fq_mat"
61+
"fq_nmod_mat"
62+
"fq_nmod_poly_factor"
63+
"fq_nmod_poly"
64+
"fq_nmod"
65+
"fq_poly_factor"
66+
"fq_poly"
67+
"fq"
68+
"fq_zech_mat"
69+
"fq_zech_poly_factor"
70+
"fq_zech_poly"
71+
"fq_zech"
7272
"mag"
7373
"mpoly"
7474
"nmod_mat"

bin/rst_to_pxd.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,6 @@ def fill_import_dict(pyflintlibdir):
8787
for t in get_cython_struct_types(pxd):
8888
import_dict[t] = 'types.' + f.name.split('.')[0]
8989

90-
with os.scandir(pyflintlibdir + '/functions') as entry:
91-
for f in entry:
92-
if fnmatch.fnmatch(f.name, "*.pxd"):
93-
with open(f.path) as pxd:
94-
for t in get_cython_struct_types(pxd):
95-
import_dict[t] = 'functions.' + f.name.split('.')[0]
96-
9790
def undecorate(str):
9891
"""
9992
remove variable name, const, ``*``, etc. to just get types
Lines changed: 27 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,32 @@
1-
from flint.flintlib.types.flint cimport flint_bitcnt_t, fmpz_struct, slong, flint_rand_t, ulong
2-
from flint.flintlib.types.fmpz cimport (
3-
fmpz_t,
4-
fmpz_struct,
5-
fmpz_poly_t,
6-
fmpz_poly_struct,
7-
)
8-
from flint.flintlib.functions.fmpz_mod cimport fmpz_mod_ctx_t
9-
from flint.flintlib.functions.fmpz_mod_mat cimport fmpz_mod_mat_t
10-
from flint.flintlib.functions.fmpz_mod_poly cimport fmpz_mod_poly_t, fmpz_mod_poly_struct
1+
from flint.flintlib.types.flint cimport flint_bitcnt_t, flint_rand_t, fmpz_struct, fmpz_t, slong, ulong
2+
from flint.flintlib.types.fmpz cimport fmpz_poly_t
3+
from flint.flintlib.types.fmpz_mod cimport fmpz_mod_ctx_t, fmpz_mod_mat_t, fmpz_mod_poly_t
4+
from flint.flintlib.types.fq cimport fq_ctx_t, fq_t
115

12-
cdef extern from "flint/fq.h":
13-
# Type definitions **********************************************/
14-
ctypedef fmpz_poly_t fq_t
15-
ctypedef fmpz_poly_struct fq_struct
16-
17-
ctypedef struct fq_ctx_struct:
18-
fmpz_mod_ctx_t ctxp
19-
20-
int sparse_modulus
21-
int is_conway # whether field was initialized with the Flint Conway tables (assures primitivity)
22-
23-
fmpz_struct * a
24-
slong * j
25-
slong len
6+
# unknown type
7+
# unknown type FILE
268

27-
fmpz_mod_poly_t modulus
28-
fmpz_mod_poly_t inv
299

30-
char * var
31-
ctypedef fq_ctx_struct fq_ctx_t[1]
32-
33-
ctypedef struct fq_poly_struct:
34-
fq_struct * coeffs
35-
slong alloc
36-
slong length
37-
ctypedef fq_poly_struct fq_poly_t[1]
38-
39-
ctypedef struct fq_mat_struct:
40-
fq_struct * entries
41-
slong r
42-
slong s
43-
fq_struct ** rows
44-
ctypedef fq_mat_struct fq_mat_t[1]
45-
46-
# Parsed from here **********************************************/
47-
void fq_ctx_init(fq_ctx_t ctx, const fmpz_t p, slong d, const char *var)
48-
int _fq_ctx_init_conway(fq_ctx_t ctx, const fmpz_t p, slong d, const char *var)
49-
void fq_ctx_init_conway(fq_ctx_t ctx, const fmpz_t p, slong d, const char *var)
50-
void fq_ctx_init_modulus(fq_ctx_t ctx, const fmpz_mod_poly_t modulus, const fmpz_mod_ctx_t ctxp, const char *var)
10+
cdef extern from "flint/fq.h":
11+
void fq_ctx_init(fq_ctx_t ctx, const fmpz_t p, slong d, const char * var)
12+
int _fq_ctx_init_conway(fq_ctx_t ctx, const fmpz_t p, slong d, const char * var)
13+
void fq_ctx_init_conway(fq_ctx_t ctx, const fmpz_t p, slong d, const char * var)
14+
void fq_ctx_init_modulus(fq_ctx_t ctx, const fmpz_mod_poly_t modulus, const fmpz_mod_ctx_t ctxp, const char * var)
15+
void fq_ctx_init_randtest(fq_ctx_t ctx, flint_rand_t state, int type)
16+
void fq_ctx_init_randtest_reducible(fq_ctx_t ctx, flint_rand_t state, int type)
5117
void fq_ctx_clear(fq_ctx_t ctx)
52-
const fmpz_mod_poly_struct* fq_ctx_modulus(const fq_ctx_t ctx)
53-
long fq_ctx_degree(const fq_ctx_t ctx)
54-
fmpz_struct * fq_ctx_prime(const fq_ctx_t ctx)
18+
# const fmpz_mod_poly_struct* fq_ctx_modulus(const fq_ctx_t ctx)
19+
slong fq_ctx_degree(const fq_ctx_t ctx)
20+
const fmpz_struct * fq_ctx_prime(const fq_ctx_t ctx)
5521
void fq_ctx_order(fmpz_t f, const fq_ctx_t ctx)
5622
# int fq_ctx_fprint(FILE * file, const fq_ctx_t ctx)
5723
void fq_ctx_print(const fq_ctx_t ctx)
58-
void fq_ctx_randtest(fq_ctx_t ctx)
59-
void fq_ctx_randtest_reducible(fq_ctx_t ctx)
6024
void fq_init(fq_t rop, const fq_ctx_t ctx)
6125
void fq_init2(fq_t rop, const fq_ctx_t ctx)
6226
void fq_clear(fq_t rop, const fq_ctx_t ctx)
63-
void _fq_sparse_reduce(fmpz_struct *R, slong lenR, const fq_ctx_t ctx)
64-
void _fq_dense_reduce(fmpz_struct *R, slong lenR, const fq_ctx_t ctx)
65-
void _fq_reduce(fmpz_struct *r, slong lenR, const fq_ctx_t ctx)
27+
void _fq_sparse_reduce(fmpz_struct * R, slong lenR, const fq_ctx_t ctx)
28+
void _fq_dense_reduce(fmpz_struct * R, slong lenR, const fq_ctx_t ctx)
29+
void _fq_reduce(fmpz_struct * r, slong lenR, const fq_ctx_t ctx)
6630
void fq_reduce(fq_t rop, const fq_ctx_t ctx)
6731
void fq_add(fq_t rop, const fq_t op1, const fq_t op2, const fq_ctx_t ctx)
6832
void fq_sub(fq_t rop, const fq_t op1, const fq_t op2, const fq_ctx_t ctx)
@@ -74,18 +38,18 @@ cdef extern from "flint/fq.h":
7438
void fq_mul_ui(fq_t rop, const fq_t op, ulong x, const fq_ctx_t ctx)
7539
void fq_sqr(fq_t rop, const fq_t op, const fq_ctx_t ctx)
7640
void fq_div(fq_t rop, const fq_t op1, const fq_t op2, const fq_ctx_t ctx)
77-
void _fq_inv(fmpz_struct *rop, const fmpz_struct *op, slong len, const fq_ctx_t ctx)
41+
void _fq_inv(fmpz_struct * rop, const fmpz_struct * op, slong len, const fq_ctx_t ctx)
7842
void fq_inv(fq_t rop, const fq_t op, const fq_ctx_t ctx)
7943
void fq_gcdinv(fq_t f, fq_t inv, const fq_t op, const fq_ctx_t ctx)
80-
void _fq_pow(fmpz_struct *rop, const fmpz_struct *op, slong len, const fmpz_t e, const fq_ctx_t ctx)
44+
void _fq_pow(fmpz_struct * rop, const fmpz_struct * op, slong len, const fmpz_t e, const fq_ctx_t ctx)
8145
void fq_pow(fq_t rop, const fq_t op, const fmpz_t e, const fq_ctx_t ctx)
8246
void fq_pow_ui(fq_t rop, const fq_t op, const ulong e, const fq_ctx_t ctx)
8347
int fq_sqrt(fq_t rop, const fq_t op1, const fq_ctx_t ctx)
8448
void fq_pth_root(fq_t rop, const fq_t op1, const fq_ctx_t ctx)
8549
int fq_is_square(const fq_t op, const fq_ctx_t ctx)
86-
# int fq_fprint_pretty(FILE *file, const fq_t op, const fq_ctx_t ctx)
50+
# int fq_fprint_pretty(FILE * file, const fq_t op, const fq_ctx_t ctx)
8751
int fq_print_pretty(const fq_t op, const fq_ctx_t ctx)
88-
# void fq_fprint(FILE * file, const fq_t op, const fq_ctx_t ctx)
52+
# int fq_fprint(FILE * file, const fq_t op, const fq_ctx_t ctx)
8953
void fq_print(const fq_t op, const fq_ctx_t ctx)
9054
char * fq_get_str(const fq_t op, const fq_ctx_t ctx)
9155
char * fq_get_str_pretty(const fq_t op, const fq_ctx_t ctx)
@@ -114,13 +78,13 @@ cdef extern from "flint/fq.h":
11478
int fq_equal(const fq_t op1, const fq_t op2, const fq_ctx_t ctx)
11579
int fq_is_invertible(const fq_t op, const fq_ctx_t ctx)
11680
int fq_is_invertible_f(fq_t f, const fq_t op, const fq_ctx_t ctx)
117-
void _fq_trace(fmpz_t rop, const fmpz_struct *op, slong len, const fq_ctx_t ctx)
81+
void _fq_trace(fmpz_t rop, const fmpz_struct * op, slong len, const fq_ctx_t ctx)
11882
void fq_trace(fmpz_t rop, const fq_t op, const fq_ctx_t ctx)
119-
void _fq_norm(fmpz_t rop, const fmpz_struct *op, slong len, const fq_ctx_t ctx)
83+
void _fq_norm(fmpz_t rop, const fmpz_struct * op, slong len, const fq_ctx_t ctx)
12084
void fq_norm(fmpz_t rop, const fq_t op, const fq_ctx_t ctx)
121-
void _fq_frobenius(fmpz_struct *rop, const fmpz_struct *op, slong len, slong e, const fq_ctx_t ctx)
85+
void _fq_frobenius(fmpz_struct * rop, const fmpz_struct * op, slong len, slong e, const fq_ctx_t ctx)
12286
void fq_frobenius(fq_t rop, const fq_t op, slong e, const fq_ctx_t ctx)
123-
int fq_multiplicative_order(fmpz_t ord, const fq_t op, const fq_ctx_t ctx)
87+
int fq_multiplicative_order(fmpz_struct * ord, const fq_t op, const fq_ctx_t ctx)
12488
int fq_is_primitive(const fq_t op, const fq_ctx_t ctx)
12589
void fq_bit_pack(fmpz_t f, const fq_t op, flint_bitcnt_t bit_size, const fq_ctx_t ctx)
12690
void fq_bit_unpack(fq_t rop, const fmpz_t f, flint_bitcnt_t bit_size, const fq_ctx_t ctx)

src/flint/flintlib/functions/fq_default.pxd

Lines changed: 16 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,22 @@
1-
from flint.flintlib.functions.fmpz_poly cimport fmpz_poly_t
2-
from flint.flintlib.functions.fmpz cimport fmpz_t
3-
from flint.flintlib.types.flint cimport slong, flint_rand_t, ulong, mp_limb_t
1+
from flint.flintlib.types.flint cimport flint_rand_t, fmpz_t, slong, ulong
2+
from flint.flintlib.types.fmpz cimport fmpz_poly_t
3+
from flint.flintlib.types.fmpz_mod cimport fmpz_mod_ctx_t, fmpz_mod_poly_t
4+
from flint.flintlib.types.fq_default cimport fq_default_ctx_t, fq_default_t
5+
from flint.flintlib.types.nmod cimport nmod_poly_t
46

5-
from flint.flintlib.functions.nmod cimport nmod_t
6-
from flint.flintlib.functions.nmod_poly cimport nmod_poly_t
7-
from flint.flintlib.functions.fmpz_mod cimport fmpz_mod_ctx_t
8-
from flint.flintlib.functions.fmpz_mod_poly cimport fmpz_mod_poly_t
7+
# unknown type FILE
98

10-
from flint.flintlib.functions.fq cimport fq_t, fq_ctx_t
11-
from flint.flintlib.functions.fq_nmod cimport fq_nmod_t, fq_nmod_ctx_t
12-
from flint.flintlib.functions.fq_zech cimport fq_zech_t, fq_zech_ctx_t
139

1410
cdef extern from "flint/fq_default.h":
15-
ctypedef union fq_default_struct:
16-
fq_t fq
17-
fq_nmod_t fq_nmod
18-
fq_zech_t fq_zech
19-
ulong nmod
20-
fmpz_t fmpz_mod
21-
ctypedef fq_default_struct fq_default_t[1]
22-
23-
ctypedef struct fq_default_fmpz_mod_ctx_struct:
24-
fmpz_mod_ctx_t mod
25-
fmpz_t a # minpoly is x - a
26-
27-
ctypedef struct fq_default_nmod_ctx_struct:
28-
nmod_t mod
29-
mp_limb_t a # minpoly is x - a
30-
31-
ctypedef union fq_default_ctx_struct:
32-
fq_ctx_t fq
33-
fq_nmod_ctx_t fq_nmod
34-
fq_zech_ctx_t fq_zech
35-
fq_default_nmod_ctx_struct nmod
36-
fq_default_fmpz_mod_ctx_struct fmpz_mod
37-
ctypedef fq_default_ctx_struct fq_default_ctx_t[1]
38-
39-
# Parsed from here
40-
void fq_default_ctx_init(fq_default_ctx_t ctx, const fmpz_t p, slong d, const char * var)
4111
void fq_default_ctx_init_type(fq_default_ctx_t ctx, const fmpz_t p, slong d, const char * var, int type)
42-
void fq_default_ctx_init_modulus(fq_default_ctx_t ctx, const fmpz_mod_poly_t modulus, fmpz_mod_ctx_t mod_ctx, const char * var)
43-
void fq_default_ctx_init_modulus_type(fq_default_ctx_t ctx, const fmpz_mod_poly_t modulus, fmpz_mod_ctx_t mod_ctx, const char * var, int type)
44-
void fq_default_ctx_init_modulus_nmod(fq_default_ctx_t ctx, const nmod_poly_t modulus, const char * var)
12+
void fq_default_ctx_init(fq_default_ctx_t ctx, const fmpz_t p, slong d, const char * var)
4513
void fq_default_ctx_init_modulus_nmod_type(fq_default_ctx_t ctx, const nmod_poly_t modulus, const char * var, int type)
14+
void fq_default_ctx_init_modulus_nmod(fq_default_ctx_t ctx, const nmod_poly_t modulus, const char * var)
15+
void fq_default_ctx_init_modulus_type(fq_default_ctx_t ctx, const fmpz_mod_poly_t modulus, fmpz_mod_ctx_t mod_ctx, const char * var, int type)
16+
void fq_default_ctx_init_modulus(fq_default_ctx_t ctx, const fmpz_mod_poly_t modulus, fmpz_mod_ctx_t mod_ctx, const char * var)
4617
void fq_default_ctx_clear(fq_default_ctx_t ctx)
4718
int fq_default_ctx_type(const fq_default_ctx_t ctx)
19+
void * fq_default_ctx_inner(const fq_default_ctx_t ctx)
4820
slong fq_default_ctx_degree(const fq_default_ctx_t ctx)
4921
void fq_default_ctx_prime(fmpz_t prime, const fq_default_ctx_t ctx)
5022
void fq_default_ctx_order(fmpz_t f, const fq_default_ctx_t ctx)
@@ -66,16 +38,16 @@ cdef extern from "flint/fq_default.h":
6638
void fq_default_mul_si(fq_default_t rop, const fq_default_t op, slong x, const fq_default_ctx_t ctx)
6739
void fq_default_mul_ui(fq_default_t rop, const fq_default_t op, ulong x, const fq_default_ctx_t ctx)
6840
void fq_default_sqr(fq_default_t rop, const fq_default_t op, const fq_default_ctx_t ctx)
69-
void fq_default_div(fq_default_t rop, const fq_default_t op1, const fq_default_t op2, const fq_default_ctx_t ctx)
41+
void fq_default_div(fq_default_t rop, fq_default_t op1, fq_default_t op2, const fq_default_ctx_t ctx)
7042
void fq_default_inv(fq_default_t rop, const fq_default_t op, const fq_default_ctx_t ctx)
7143
void fq_default_pow(fq_default_t rop, const fq_default_t op, const fmpz_t e, const fq_default_ctx_t ctx)
7244
void fq_default_pow_ui(fq_default_t rop, const fq_default_t op, const ulong e, const fq_default_ctx_t ctx)
7345
int fq_default_sqrt(fq_default_t rop, const fq_default_t op1, const fq_default_ctx_t ctx)
7446
void fq_default_pth_root(fq_default_t rop, const fq_default_t op1, const fq_default_ctx_t ctx)
7547
int fq_default_is_square(const fq_default_t op, const fq_default_ctx_t ctx)
76-
# int fq_default_fprint_pretty(FILE *file, const fq_default_t op, const fq_default_ctx_t ctx)
77-
int fq_default_print_pretty(const fq_default_t op, const fq_default_ctx_t ctx)
78-
# void fq_default_fprint(FILE * file, const fq_default_t op, const fq_default_ctx_t ctx)
48+
# int fq_default_fprint_pretty(FILE * file, const fq_default_t op, const fq_default_ctx_t ctx)
49+
void fq_default_print_pretty(const fq_default_t op, const fq_default_ctx_t ctx)
50+
# int fq_default_fprint(FILE * file, const fq_default_t op, const fq_default_ctx_t ctx)
7951
void fq_default_print(const fq_default_t op, const fq_default_ctx_t ctx)
8052
char * fq_default_get_str(const fq_default_t op, const fq_default_ctx_t ctx)
8153
char * fq_default_get_str_pretty(const fq_default_t op, const fq_default_ctx_t ctx)
@@ -94,9 +66,7 @@ cdef extern from "flint/fq_default.h":
9466
int fq_default_get_fmpz(fmpz_t rop, const fq_default_t op, const fq_default_ctx_t ctx)
9567
void fq_default_get_nmod_poly(nmod_poly_t poly, const fq_default_t op, const fq_default_ctx_t ctx)
9668
void fq_default_set_nmod_poly(fq_default_t op, const nmod_poly_t poly, const fq_default_ctx_t ctx)
97-
# void fq_default_get_fmpz_mod_poly(fmpz_mod_poly_t poly, const fq_default_t op, const fmpz_mod_ctx_t mod_ctx, const fq_default_ctx_t ctx)
98-
# void fq_default_set_fmpz_mod_poly(fq_default_t op, const fmpz_mod_poly_t poly, const fmpz_mod_ctx_t mod_ctx, const fq_default_ctx_t ctx)
99-
void fq_default_get_fmpz_mod_poly(fmpz_mod_poly_t poly, const fq_default_t op, const fq_default_ctx_t ctx)
69+
void fq_default_get_fmpz_mod_poly(fmpz_mod_poly_t poly, const fq_default_t op, const fq_default_ctx_t ctx)
10070
void fq_default_set_fmpz_mod_poly(fq_default_t op, const fmpz_mod_poly_t poly, const fq_default_ctx_t ctx)
10171
void fq_default_get_fmpz_poly(fmpz_poly_t a, const fq_default_t b, const fq_default_ctx_t ctx)
10272
void fq_default_set_fmpz_poly(fq_default_t a, const fmpz_poly_t b, const fq_default_ctx_t ctx)

src/flint/flintlib/functions/fq_default_mat.pxd

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,14 @@
1-
from flint.flintlib.types.flint cimport flint_rand_t, slong
2-
from flint.flintlib.functions.fq cimport fq_ctx_t, fq_struct
3-
from flint.flintlib.functions.nmod_mat cimport nmod_mat_t
4-
from flint.flintlib.functions.fmpz_mat cimport fmpz_mat_t
5-
from flint.flintlib.functions.fmpz_mod_mat cimport fmpz_mod_mat_t
6-
from flint.flintlib.functions.fmpz cimport fmpz_t
7-
from flint.flintlib.functions.fq_default cimport fq_default_t, fq_default_ctx_t
8-
from flint.flintlib.functions.fq_default_poly cimport fq_default_poly_t
9-
from flint.flintlib.functions.fq_mat cimport fq_mat_t
10-
from flint.flintlib.functions.fq_nmod_mat cimport fq_nmod_mat_t
11-
from flint.flintlib.functions.fq_zech_mat cimport fq_zech_mat_t
12-
from flintlib.nmod_mat cimport nmod_mat_t
13-
from flintlib.fmpz_mod_mat cimport fmpz_mod_mat_t
1+
from flint.flintlib.types.flint cimport flint_rand_t, fmpz_t, slong
2+
from flint.flintlib.types.fmpz cimport fmpz_mat_t
3+
from flint.flintlib.types.fmpz_mod cimport fmpz_mod_mat_t
4+
from flint.flintlib.types.fq cimport fq_ctx_t, fq_mat_t, fq_struct
5+
from flint.flintlib.types.fq_default cimport fq_default_ctx_t, fq_default_mat_t, fq_default_poly_t, fq_default_t
6+
from flint.flintlib.types.nmod cimport nmod_mat_t
7+
8+
# unknown type FILE
149

15-
cdef extern from "flint/fq_default_mat.h":
16-
# Type definitions **********************************************/
17-
ctypedef union fq_default_mat_struct:
18-
fq_mat_t fq
19-
fq_nmod_mat_t fq_nmod
20-
fq_zech_mat_t fq_zech
21-
nmod_mat_t nmod
22-
fmpz_mod_mat_t fmpz_mod
23-
ctypedef fq_default_mat_struct fq_default_mat_t[1]
2410

25-
# Parsed from here **********************************************/
11+
cdef extern from "flint/fq_default_mat.h":
2612
void fq_default_mat_init(fq_default_mat_t mat, slong rows, slong cols, const fq_default_ctx_t ctx)
2713
void fq_default_mat_init_set(fq_default_mat_t mat, const fq_default_mat_t src, const fq_default_ctx_t ctx)
2814
void fq_default_mat_clear(fq_default_mat_t mat, const fq_default_ctx_t ctx)

src/flint/flintlib/functions/fq_default_poly.pxd

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,13 @@
1-
from flint.flintlib.functions.fq_default cimport fq_default_ctx_t, fq_default_t
2-
from flint.flintlib.functions.nmod_poly cimport nmod_poly_t
3-
from flint.flintlib.types.flint cimport slong, ulong, flint_rand_t
4-
from flint.flintlib.functions.fmpz_poly cimport fmpz_poly_t
5-
from flint.flintlib.functions.fmpz cimport fmpz_t
6-
from flint.flintlib.functions.fmpz_mod_poly cimport fmpz_mod_poly_t
7-
from flint.flintlib.functions.fq_poly cimport fq_poly_t
8-
from flint.flintlib.functions.fq_nmod_poly cimport fq_nmod_poly_t
9-
from flint.flintlib.functions.fq_zech_poly cimport fq_zech_poly_t
1+
from flint.flintlib.types.flint cimport flint_rand_t, fmpz_t, slong, ulong
2+
from flint.flintlib.types.fmpz cimport fmpz_poly_t
3+
from flint.flintlib.types.fmpz_mod cimport fmpz_mod_poly_t
4+
from flint.flintlib.types.fq_default cimport fq_default_ctx_t, fq_default_poly_t, fq_default_t
5+
from flint.flintlib.types.nmod cimport nmod_poly_t
106

7+
# unknown type FILE
118

12-
cdef extern from "flint/fq_default_poly.h":
13-
# Type definitions **********************************************/
14-
ctypedef union fq_default_poly_struct:
15-
fq_poly_t fq
16-
fq_nmod_poly_t fq_nmod
17-
fq_zech_poly_t fq_zech
18-
nmod_poly_t nmod
19-
fmpz_mod_poly_t fmpz_mod
20-
ctypedef fq_default_poly_struct fq_default_poly_t[1]
219

22-
# Parsed from here **********************************************/
10+
cdef extern from "flint/fq_default_poly.h":
2311
void fq_default_poly_init(fq_default_poly_t poly, const fq_default_ctx_t ctx)
2412
void fq_default_poly_init2(fq_default_poly_t poly, slong alloc, const fq_default_ctx_t ctx)
2513
void fq_default_poly_realloc(fq_default_poly_t poly, slong alloc, const fq_default_ctx_t ctx)

0 commit comments

Comments
 (0)