-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
gh-132908: add math.normal/subnormal() functions #132935
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
base: main
Are you sure you want to change the base?
Conversation
Misc/NEWS.d/next/Library/2025-04-25-16-06-53.gh-issue-132908.wV5rja.rst
Outdated
Show resolved
Hide resolved
Misc/NEWS.d/next/Library/2025-04-25-16-06-53.gh-issue-132908.wV5rja.rst
Outdated
Show resolved
Hide resolved
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
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.
Just some cosmetic nits.
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
So, we have some known buildbots issues. I'll wait for it to be solved and then once it's ok for them, I'll merge it. |
Technically it's very trivial pr, yet I would appreciate a second look from someone. Maybe we should be more vague and not define in any way normal/subnormal meaning (i.e. not reference sys.float_info). (Or mention this as CPython implementation detail.) E.g. should all Python implementations support subnormals? |
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.
IMO the docs and implementation are fine, everything is explained well.
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.
Maybe we can replace "floating-point number" with just a "number" (as integer are automatically converted to floats)?
:func:`isnormal(x) <isnormal>` Check if *x* is a normal floating-point number | ||
:func:`issubnormal(x) <issubnormal>` Check if *x* is a subnormal floating-point number |
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.
:func:`isnormal(x) <isnormal>` Check if *x* is a normal floating-point number | |
:func:`issubnormal(x) <issubnormal>` Check if *x* is a subnormal floating-point number | |
:func:`isnormal(x) <isnormal>` Check if *x* is a normal number | |
:func:`issubnormal(x) <issubnormal>` Check if *x* is a subnormal number |
Return ``True`` if *x* is a normal floating-point number, that is a finite | ||
nonzero number that is not a subnormal (see :func:`issubnormal`). | ||
Return ``False`` otherwise. |
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.
Return ``True`` if *x* is a normal floating-point number, that is a finite | |
nonzero number that is not a subnormal (see :func:`issubnormal`). | |
Return ``False`` otherwise. | |
Return ``True`` if *x* is a normal number, that is a finite | |
nonzero number that is not a subnormal (see :func:`issubnormal`). | |
Return ``False`` otherwise. |
Return ``True`` if *x* is a subnormal floating-point number, that is a finite | ||
nonzero number with a magnitude smaller than the smallest positive normal | ||
number, see :data:`sys.float_info.min`. Return ``False`` otherwise. |
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.
Return ``True`` if *x* is a subnormal floating-point number, that is a finite | |
nonzero number with a magnitude smaller than the smallest positive normal | |
number, see :data:`sys.float_info.min`. Return ``False`` otherwise. | |
Return ``True`` if *x* is a subnormal number, that is a finite | |
nonzero number with a magnitude smaller than the smallest positive normal | |
number, see :data:`sys.float_info.min`. Return ``False`` otherwise. |
📚 Documentation preview 📚: https://cpython-previews--132935.org.readthedocs.build/