mirror of
https://github.com/python/cpython.git
synced 2025-08-22 17:55:18 +00:00
bpo-34838: Use subclass_of for math.dist. (GH-9659)
Argument clinic now generates fast inline code for positional parsing, so the manually implemented type check in math.dist can be removed.
This commit is contained in:
parent
fdf282d609
commit
cb08a71c5c
3 changed files with 14 additions and 9 deletions
|
@ -2101,8 +2101,8 @@ vector_norm(Py_ssize_t n, double *vec, double max, int found_nan)
|
|||
/*[clinic input]
|
||||
math.dist
|
||||
|
||||
p: object
|
||||
q: object
|
||||
p: object(subclass_of='&PyTuple_Type')
|
||||
q: object(subclass_of='&PyTuple_Type')
|
||||
/
|
||||
|
||||
Return the Euclidean distance between two points p and q.
|
||||
|
@ -2116,7 +2116,7 @@ Roughly equivalent to:
|
|||
|
||||
static PyObject *
|
||||
math_dist_impl(PyObject *module, PyObject *p, PyObject *q)
|
||||
/*[clinic end generated code: output=56bd9538d06bbcfe input=8c83c07c7a524664]*/
|
||||
/*[clinic end generated code: output=56bd9538d06bbcfe input=937122eaa5f19272]*/
|
||||
{
|
||||
PyObject *item;
|
||||
double max = 0.0;
|
||||
|
@ -2126,11 +2126,6 @@ math_dist_impl(PyObject *module, PyObject *p, PyObject *q)
|
|||
double diffs_on_stack[NUM_STACK_ELEMS];
|
||||
double *diffs = diffs_on_stack;
|
||||
|
||||
if (!PyTuple_Check(p) || !PyTuple_Check(q)) {
|
||||
PyErr_SetString(PyExc_TypeError, "dist argument must be a tuple");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
m = PyTuple_GET_SIZE(p);
|
||||
n = PyTuple_GET_SIZE(q);
|
||||
if (m != n) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue