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:

Status badges

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:

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.

Change History (1)

comment:1 Changed 5 weeks ago by mkoeppe

Milestone: sage-8.1
Note: See TracTickets for help on using tickets.