gh-101678: Merge math_1_to_whatever() and math_1() (#101730)

`math_1_to_whatever()` is no longer useful, since all existing uses of it convert to `float`.
Earlier versions of Python used `math_1_to_whatever` with an integer target; see
gh-16991 for the PR where that use was removed.
This commit is contained in:
Sergey B Kirpichev 2023-02-09 12:40:13 +03:00 committed by GitHub
parent 58395759b0
commit 45fa12aec8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -875,9 +875,7 @@ is_error(double x)
*/
static PyObject *
math_1_to_whatever(PyObject *arg, double (*func) (double),
PyObject *(*from_double_func) (double),
int can_overflow)
math_1(PyObject *arg, double (*func) (double), int can_overflow)
{
double x, r;
x = PyFloat_AsDouble(arg);
@ -903,7 +901,7 @@ math_1_to_whatever(PyObject *arg, double (*func) (double),
/* this branch unnecessary on most platforms */
return NULL;
return (*from_double_func)(r);
return PyFloat_FromDouble(r);
}
/* variant of math_1, to be used when the function being wrapped is known to
@ -951,12 +949,6 @@ math_1a(PyObject *arg, double (*func) (double))
OverflowError.
*/
static PyObject *
math_1(PyObject *arg, double (*func) (double), int can_overflow)
{
return math_1_to_whatever(arg, func, PyFloat_FromDouble, can_overflow);
}
static PyObject *
math_2(PyObject *const *args, Py_ssize_t nargs,
double (*func) (double, double), const char *funcname)