#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.

Reply via email to