How is it typically decided whether some array function goes in numpy or scipy?

On Tue, Jun 9, 2026, at 11:08 AM, Lucas Colley via NumPy-Discussion wrote:
> There was a proposal to add these to `scipy.special`: 
> https://discuss.scientific-python.org/t/rfc-add-sinpi-cospi-tanpi-and-cotpi-functions-to-special/1193.
>  There are existing implementations at 
> https://github.com/scipy/xsf/blob/main/include/xsf/trig.h , with `sinpi` and 
> `cospi` exposed to SciPy (privately) at 
> https://github.com/scipy/scipy/blob/main/scipy/special/xsf_wrappers.h#L394-L396.
> 
> We should probably decide whether these best belong in `numpy` or 
> `scipy.special`, and only expose them in one of the two.
> 
> Cheers,
> Lucas
> 
>> On 9 Jun 2026, at 16:23, Jerome Kieffer <[email protected]> wrote:
>> 
>> I like the idea !
>> 
>> On Mon, 08 Jun 2026 08:59:24 -0500
>> "Jeff Epler" <[email protected]> wrote:
>> 
>>> In a recently merged PR (https://github.com/python/cpython/pull/150555), 
>>> CPython has added a family of "*pi" functions to the math module, which 
>>> take half-turn arguments instead of radians. One reason these functions are 
>>> advantageous is that it's easy to provide the property that `sinpi(n/2)` is 
>>> exact for all integers n, while `sin(pi*n)` is never exactly equal to the 
>>> mathematical ideal except for n=0.
>>> 
>>> These functions are recommended by IEEE754-2019 and standardized in C23 
>>> Annex G. (note: I'm reading C23 draft revised 2023-01-24, not the final 
>>> standard document; and I do not have IEEE754-2019).
>>> 
>>> C23 and CPython only added the real-valued versions of these functions, but 
>>> C23 "future library directions" notes that identifiers like `csinpi` are 
>>> "potentially reserved identifiers."
>>> 
>>> Since CPython only requires C11, CPython includes implementations of these 
>>> functions for when the underling platform library does not provide it. 
>>> These implementations work by performing special case handling & range 
>>> reduction, followed by a call to the standard trig function with a scaled 
>>> argument (in the case of forward functions) or scaling of the result (in 
>>> the case of inverse/arc functions).
>>> 
>>> I am interested in doing the numpy implementation, however I have never 
>>> done core numpy work before. If there is interest from the project, I would 
>>> like to initially offer a PR containing a single function such as `sinpi` 
>>> and then complete the others following numpy core developer feedback.
>>> 
>>> Thanks,
>>> Jeff
>>> PS I notice via the archives that there are occasional "New Contributors' 
>>> Hour" meetings. Is the next one scheduled yet?
>> 
>> 
>> 
>> 
>> -- 
>> Jérôme Kieffer
>> tel +33 476 882 445
>> _______________________________________________
>> NumPy-Discussion mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>> https://mail.python.org/mailman3//lists/numpy-discussion.python.org
>> Member address: [email protected]
> _______________________________________________
> NumPy-Discussion mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3//lists/numpy-discussion.python.org
> Member address: [email protected]
> 
_______________________________________________
NumPy-Discussion mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/numpy-discussion.python.org
Member address: [email protected]

Reply via email to