Opened 6 years ago
Last modified 5 weeks ago
#23524 new task
padic folder refactoring
Reported by: | roed | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | padics | Keywords: | sd87 |
Cc: | saraedum | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
The p-adic directory has a lot of files, and there's a lot of boilerplate code necessary to write new parents. This is a (meta)-ticket to track a number of improvements to improve the situation.
- Use dynamic classes to create parents. This would be done in
factory.py
and would mix in a class for the precision type, a class for the ramification type (base, unramified, eisenstein or general), a class for ring vs field, etc. See #22054
- There are some files (e.g. qadic_flint_CR.pyx) which exist just because Cython needs a file to compile. The actual code is all in templates and linkage files. These should be moved to a subdirectory. This would also be a good time to do any other renaming of files (see #14324)
- The factory file should be simplified. There is a lot of duplicated documentation, and the processing of the arguments to the factories is hard to understand.
This should wait on various tickets to be merged, in order to alleviate merge conflicts:
- #8240
- #12561
- #12657
- #13591
- #14825
- #20073
- #20244
- #20260
- #20310
- #22103
- #22956 (maybe)
- #23218
- #23228
- #23229
- #23235
- #23331
- #23449
- #23450
- #23471
- #23478
- #23486
- #23505 (maybe)
- #23507
- #23508
- #23510
The following tickets should be okay because they only change files unaffected by these proposals:
The following tickets are specific to NTL implementations, and should maybe be abandoned
The following tickets have branches that will be in merge hell, but we propose to abandon.
Note: See
TracTickets for help on using
tickets.