Skip to content
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

padic folder refactoring #23524

Open
roed314 opened this issue Jul 23, 2017 · 0 comments
Open

padic folder refactoring #23524

roed314 opened this issue Jul 23, 2017 · 0 comments

Comments

@roed314
Copy link
Contributor

roed314 commented Jul 23, 2017

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 Use dynamic classes for p-adic parents #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 Change file names in sage/rings/padics #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.

CC: @saraedum

Component: padics

Keywords: sd87

Issue created by migration from https://trac.sagemath.org/ticket/23524

@roed314 roed314 added this to the sage-8.1 milestone Jul 23, 2017
@mkoeppe mkoeppe removed this from the sage-8.1 milestone Dec 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants