https://github.com/python/cpython/commit/0cdc5c8d5446e5eedd34e03d8e380bc237d1379b
commit: 0cdc5c8d5446e5eedd34e03d8e380bc237d1379b
branch: main
author: Sergey B Kirpichev <[email protected]>
committer: vstinner <[email protected]>
date: 2024-05-29T10:45:14Z
summary:

gh-119613: Soft deprecate Py_IS_NAN/INFINITY/FINITE (#119701)

Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Erlend E. Aasland <[email protected]>
Co-authored-by: Victor Stinner <[email protected]>

files:
A Misc/NEWS.d/next/C API/2024-05-29-09-21-37.gh-issue-119613.J2xfrC.rst
M Doc/whatsnew/3.14.rst
M Include/pymath.h

diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst
index 15216479cc6e5c..bc7fe64e68bb18 100644
--- a/Doc/whatsnew/3.14.rst
+++ b/Doc/whatsnew/3.14.rst
@@ -231,6 +231,12 @@ Porting to Python 3.14
 Deprecated
 ----------
 
+* Macros :c:macro:`!Py_IS_NAN`, :c:macro:`!Py_IS_INFINITY`
+  and :c:macro:`!Py_IS_FINITE` are :term:`soft deprecated`,
+  use instead :c:macro:`!isnan`, :c:macro:`!isinf` and
+  :c:macro:`!isfinite` available from :file:`math.h`
+  since C99.  (Contributed by Sergey B Kirpichev in :gh:`119613`.)
+
 Removed
 -------
 
diff --git a/Include/pymath.h b/Include/pymath.h
index 4c1e3d9984894b..d8f763f808d662 100644
--- a/Include/pymath.h
+++ b/Include/pymath.h
@@ -29,14 +29,17 @@
 
 // Py_IS_NAN(X)
 // Return 1 if float or double arg is a NaN, else 0.
+// Soft deprecated since Python 3.14, use isnan() instead.
 #define Py_IS_NAN(X) isnan(X)
 
 // Py_IS_INFINITY(X)
 // Return 1 if float or double arg is an infinity, else 0.
+// Soft deprecated since Python 3.14, use isinf() instead.
 #define Py_IS_INFINITY(X) isinf(X)
 
 // Py_IS_FINITE(X)
 // Return 1 if float or double arg is neither infinite nor NAN, else 0.
+// Soft deprecated since Python 3.14, use isfinite() instead.
 #define Py_IS_FINITE(X) isfinite(X)
 
 // Py_INFINITY: Value that evaluates to a positive double infinity.
diff --git a/Misc/NEWS.d/next/C 
API/2024-05-29-09-21-37.gh-issue-119613.J2xfrC.rst b/Misc/NEWS.d/next/C 
API/2024-05-29-09-21-37.gh-issue-119613.J2xfrC.rst
new file mode 100644
index 00000000000000..196a4722a98c70
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2024-05-29-09-21-37.gh-issue-119613.J2xfrC.rst     
@@ -0,0 +1,2 @@
+Macros ``Py_IS_NAN``, ``Py_IS_INFINITY`` and ``Py_IS_FINITE``
+are :term:`soft deprecated`.

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to