You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
They are identical, the second one just uses Py_complex to keep arguments.
We should either 1) move first helper to _math.h and reuse it in the cmathmodule.c or 2) just remove these helpers. I'll provide patch for 1) proposal.
But 2) looks also safe for me: it seems that c_atan2() helper was used only for cmath.phase() and cmath.polar(); libm's atan2() used for the rest - and this don't poses any problems in CI or build bots. ("Problem" values are tested, e.g. infinities and nans for acos().)
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Feature or enhancement
Proposal:
With #29179, many workarounds for buggy libm implementations were removed. Yet, there is
m_atan2():cpython/Modules/mathmodule.c
Lines 546 to 572 in d0b92dd
and
cpython/Modules/cmathmodule.c
Lines 329 to 355 in d0b92dd
They are identical, the second one just uses
Py_complexto keep arguments.We should either 1) move first helper to
_math.hand reuse it in thecmathmodule.cor 2) just remove these helpers. I'll provide patch for 1) proposal.But 2) looks also safe for me: it seems that
c_atan2()helper was used only forcmath.phase()andcmath.polar(); libm'satan2()used for the rest - and this don't poses any problems in CI or build bots. ("Problem" values are tested, e.g. infinities and nans foracos().)Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Linked PRs