aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Modules/_testcapi/float.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_testcapi/float.c')
-rw-r--r--Modules/_testcapi/float.c33
1 files changed, 0 insertions, 33 deletions
diff --git a/Modules/_testcapi/float.c b/Modules/_testcapi/float.c
index 007884bc1f9..e3869134c84 100644
--- a/Modules/_testcapi/float.c
+++ b/Modules/_testcapi/float.c
@@ -157,42 +157,9 @@ test_string_to_double(PyObject *self, PyObject *Py_UNUSED(ignored))
}
-/*[clinic input]
-_testcapi.float_set_snan
-
- obj: object
- /
-
-Make a signaling NaN.
-[clinic start generated code]*/
-
-static PyObject *
-_testcapi_float_set_snan(PyObject *module, PyObject *obj)
-/*[clinic end generated code: output=f43778a70f60aa4b input=c1269b0f88ef27ac]*/
-{
- if (!PyFloat_Check(obj)) {
- PyErr_SetString(PyExc_ValueError, "float-point number expected");
- return NULL;
- }
- double d = ((PyFloatObject *)obj)->ob_fval;
- if (!isnan(d)) {
- PyErr_SetString(PyExc_ValueError, "nan expected");
- return NULL;
- }
- uint64_t v;
- memcpy(&v, &d, 8);
- v &= ~(1ULL << 51); /* make sNaN */
-
- // gh-130317: memcpy() is needed to preserve the sNaN flag on x86 (32-bit)
- PyObject *res = PyFloat_FromDouble(0.0);
- memcpy(&((PyFloatObject *)res)->ob_fval, &v, 8);
- return res;
-}
-
static PyMethodDef test_methods[] = {
_TESTCAPI_FLOAT_PACK_METHODDEF
_TESTCAPI_FLOAT_UNPACK_METHODDEF
- _TESTCAPI_FLOAT_SET_SNAN_METHODDEF
{"test_string_to_double", test_string_to_double, METH_NOARGS},
{NULL},
};