Ticket #5622 (closed enhancement: fixed)
[with patch, positive review] complex double fast callable interpreter
| Reported by: | robertwb | Owned by: | somebody |
|---|---|---|---|
| Priority: | major | Milestone: | sage-3.4.1 |
| Component: | basic arithmetic | Keywords: | |
| Cc: | cwitty | Work issues: | |
| Report Upstream: | Reviewers: | ||
| Authors: | Merged in: | ||
| Dependencies: | Stopgaps: |
Description
After RDF and RR, CDF would be very handy to have too.
Attachments
Change History
comment:1 Changed 4 years ago by robertwb
- Cc cwitty added
- Summary changed from complex double fast callable interpreter to [with patch, needs review] complex double fast callable interpreter
comment:2 follow-up: ↓ 3 Changed 4 years ago by cwitty
- Summary changed from [with patch, needs review] complex double fast callable interpreter to [with patch, positive review] complex double fast callable interpreter
Code looks good, doctests pass. Positive review, unless Michael complains about the portability issues.
Michael, I see two potential portability issues with the code:
1) it uses C99 complex numbers
2) it adds the compiler argument -std=c99
I'm guessing the latter will only work with gcc (unless other compilers specifically copy gcc command-line arguments). Does Sage currently build with non-gcc compilers?
comment:3 in reply to: ↑ 2 Changed 4 years ago by mabshoff
Replying to cwitty:
Code looks good, doctests pass. Positive review, unless Michael complains about the portability issues.
Michael, I see two potential portability issues with the code:
1) it uses C99 complex numbers
That is not a problem. FLINT mandates that we use C99 anyway.
2) it adds the compiler argument -std=c99
We can work around that.
I'm guessing the latter will only work with gcc (unless other compilers specifically copy gcc command-line arguments). Does Sage currently build with non-gcc compilers?
Not at the moment, but there is work under way to support the pathscale compiler for SiCortex?.
Cheers,
Michael
comment:4 Changed 4 years ago by robertwb
Thanks.
BTW, It compiles fine with gcc without the c99 flag, but I figured I'd put it there to be explicit. (I actually only knew about that flag because of flint.)
comment:5 Changed 4 years ago by mabshoff
- Status changed from new to closed
- Resolution set to fixed
- Milestone changed from sage-3.4.2 to sage-3.4.1
Merged in Sage 3.4.1.rc0.
Cheers,
Michael
comment:6 Changed 4 years ago by jason
The work around for the bug in Cython < 0.11 can be removed because we upgraded to Cython 0.11 in this release of Sage, right?
from patch above:
# This is to work around a header ordering bug in Cython < 0.11 # (Pari is included from sage.rings.complex_double.)


I started thinking about this as I was refereeing the original ticket, trying to make sure I understood how it all worked.