bpo-42323: Fix math.nextafter() for NaN on AIX (GH-24265)
diff --git a/Misc/NEWS.d/next/Library/2021-01-20-12-10-47.bpo-42323.PONB8e.rst b/Misc/NEWS.d/next/Library/2021-01-20-12-10-47.bpo-42323.PONB8e.rst
new file mode 100644
index 0000000..b2f7bec
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2021-01-20-12-10-47.bpo-42323.PONB8e.rst
@@ -0,0 +1 @@
+Fix :func:`math.nextafter` for NaN on AIX.
diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c
index 86b64fb..8133d6b 100644
--- a/Modules/mathmodule.c
+++ b/Modules/mathmodule.c
@@ -3473,6 +3473,12 @@ math_nextafter_impl(PyObject *module, double x, double y)
Bug fixed in bos.adt.libm 7.2.2.0 by APAR IV95512. */
return PyFloat_FromDouble(y);
}
+ if (Py_IS_NAN(x)) {
+ return x;
+ }
+ if (Py_IS_NAN(y)) {
+ return y;
+ }
#endif
return PyFloat_FromDouble(nextafter(x, y));
}