Ticket #5622 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years ago

[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

5622-fast-callable-cdf.patch Download (9.6 KB) - added by robertwb 4 years ago.

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

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

Changed 4 years ago by robertwb

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.) 
Note: See TracTickets for help on using tickets.