-
-
Notifications
You must be signed in to change notification settings - Fork 32.2k
gh-135853: add math.signbit
#135877
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
gh-135853: add math.signbit
#135877
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Some nitpicks, based on wording in the C17.
Misc/NEWS.d/next/Library/2025-06-24-10-23-37.gh-issue-135853.6xDNOG.rst
Outdated
Show resolved
Hide resolved
b406151
to
f6a55ce
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
IMO it's ok to cast C signint()
int
result into a Python boolean, since it's unlikely that the signbit() will return values others than 0 and 1 in the future. The manual page says:
RETURN VALUE
The signbit() macro returns nonzero if the sign of x is negative; other-
wise it returns zero.
Actually, However, since we return booleans for isfinite() etc, I also returned a boolean for signbit() (and in practice, people don't care about the return value, they only care about the test) |
cc @mdickinson @skirpichev @rhettinger
I made the choice of returning True/False like numpy rather than the nonzero value itself as in C. If you want me to have another function that returns a boolean and keep signbit as in C, please tell me.
math
#135853📚 Documentation preview 📚: https://cpython-previews--135877.org.readthedocs.build/