#15185: Clean up interface to the PARI library
-------------------------------------+-------------------------------------
Reporter: pbruin | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.0
Component: interfaces | Resolution:
Keywords: pari | Merged in:
Authors: Peter Bruin | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/pbruin/15185-split_up_pari_interface|
11a3bfbda21bde9c0d0778442cdd3607db14e583
Dependencies: #9640, #10018, | Stopgaps:
#11868 |
-------------------------------------+-------------------------------------
Changes (by pbruin):
* status: new => needs_review
* commit: 2344f0bd14b5f72eb84ad1b134f84a74de25fc2e =>
11a3bfbda21bde9c0d0778442cdd3607db14e583
* work_issues: rebase =>
Old description:
> The file `sage/libs/pari/gen.pyx` is too big and contains too many
> different things. For clarity and maintainability, it should be split
> into two or three parts:
> - `gen.pyx` containing the class `gen`;
> - `pari_instance.pyx` containing the class `PariInstance` and some
> utility functions;
> - (maybe) `pari_error.pyx` containing the class `PariError`.
> More cleaning-up will be done in #15461.
New description:
The file `sage/libs/pari/gen.pyx` is too big and contains too many
different things. For clarity and maintainability, it should be split
into two parts:
- `gen.pyx` containing the class `gen`;
- `pari_instance.pyx` containing the class `PariInstance` and some utility
functions;
More cleaning-up will be done in #15461.
--
Comment:
Here is a new branch which moves `PariInstance` to a separate file and
otherwise is close to minimal.
It is true that the Cython-generated code has some overhead in for the
cross-module method calls. I think it is very small, but I will try to do
some timings. Depending on the outcome, it might be reasonable to
duplicate a small amount of code to avoid these cross-module calls. I
think it is better to do that as part of #15461, though.
----
New commits:
||[[http://git.sagemath.org/sage.git/commit/?id=11a3bfb|11a3bfb]]||more
fixes related to relocation of PariInstance||
||[[http://git.sagemath.org/sage.git/commit/?id=34013cc|34013cc]]||fixes
in sage.libs.pari||
||[[http://git.sagemath.org/sage.git/commit/?id=db8cd7e|db8cd7e]]||top-
level changes related to PariInstance||
||[[http://git.sagemath.org/sage.git/commit/?id=fcf7972|fcf7972]]||adapt
miscellaneous files in the Sage library||
||[[http://git.sagemath.org/sage.git/commit/?id=5091563|5091563]]||fix
imports in gen_py.py||
||[[http://git.sagemath.org/sage.git/commit/?id=478dd90|478dd90]]||move
code from gen.pyx to pari_instance.pyx||
||[[http://git.sagemath.org/sage.git/commit/?id=08a278f|08a278f]]||create
pari_instance.pyx; move some documentation and examples there||
||[[http://git.sagemath.org/sage.git/commit/?id=561e39f|561e39f]]||create
pari_instance.pxd||
--
Ticket URL: <http://trac.sagemath.org/ticket/15185#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.