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

ENH: special: extend sici/shichi to complex arguments #6406

Merged
merged 5 commits into from Jul 31, 2016
Merged

Conversation

person142
Copy link
Member

Closes gh-1430.

cdef void shichi(double x0, double *y0, double *y1) nogil
cdef void sici(double x0, double *y0, double *y1) nogil
cdef void shichi(Dd_number_t x0, Dd_number_t *y0, Dd_number_t *y1) nogil
cdef void sici(Dd_number_t x0, Dd_number_t *y0, Dd_number_t *y1) nogil
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not related to this PR, but to gh-6195 --- it needs to be understood what problems this sort of signature changes can cause to existing Cython code. I think this is similar to an ABI break --- changing signatures here will require recompilation of Cython modules using these exported functions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

However, unlike ABI break, this should raise an exception rather than segfaulting since Cython checks the signatures. It may nevertheless require some thinking on how what sort of ABI change policy we want here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm--you get an error like this:

ImportError: scipy.special.cython_special does not export expected C function sici

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ABI discussion -> gh-6440

\gamma + \log(x) + \int_0^x \frac{\cosh{t} - 1}{t} dt

where :math:`\gamma` is Euler's constant and :math:`\log` is the
principle branch of the logarithm.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

principal branch

@pv pv merged commit 853f626 into scipy:master Jul 31, 2016
@pv
Copy link
Member

pv commented Jul 31, 2016

LGTM, merged

@pv pv added this to the 0.19.0 milestone Jul 31, 2016
@person142 person142 deleted the sici branch August 7, 2016 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants