-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Autogenerate all flintlib .pxd files #217
Conversation
I have separated the flintlib .pxd files into two subdirectories:
This means that you do e.g.: from flint.flintlib.types cimport fmpz_t
from flint.flintlib.function cimport fmpz_is_one We also need to add macros and some undocumented functions into the hand-written code. Possibly it would be better to change the doc-scraping script so that it has a hard-coded list of macros to recognise and declare as functions. The undocumented functions should be fixed upstream. Some of the .pxd files in functions still need to be rearranged: remove the struct definitions and place in a new .pxd in the types directory. Then they can be auto-generated as well. About half of modules used in python-flint are now auto-generated by a single script: $ bin/all_rst_to_pxd.sh ../flint/doc/source/
Processing acb_calc
Processing acb_dft
Processing acb_dirichlet
Processing acb_elliptic
Processing acb_hypgeom
Processing acb_mat
Processing acb_modular
Processing acb_poly
Processing acb
Processing acb_theta
Processing arb_fmpz_poly
Processing arb_hypgeom
Processing arb_mat
Processing arb_poly
Processing arb
Processing arf
Processing arith
Processing bernoulli
Processing dirichlet
Processing fmpz_factor
Processing fmpz_lll
Processing fmpz_mat
Processing fmpz_poly_factor
Processing fmpz_poly
Processing fmpz
Processing fmpz_vec
Processing mag
Processing partitions
Processing ulong_extras Status is: python-flint/bin/all_rst_to_pxd.sh Lines 13 to 83 in 627bb8c
|
The diff here is now large because all of the flintlib.pxd files have been moved. I'm going to merge this shortly to get it in before merge conflicts arise. |
Okay, I've made it so that all the .pxd files in flintlib.functions are generated automatically. That applies to all of the FLINT modules that are actually used in python-flint. I made a full list of all FLINT modules here so you can see which are being used and easily uncomment the others when needed: python-flint/bin/all_rst_to_pxd.sh Lines 13 to 146 in a51dc42
|
acb_*
.pxd files
Follows gh-215