Micro-optimization for list_contains. Factored double if test

out of the loop.
This commit is contained in:
Raymond Hettinger 2002-09-05 20:18:08 +00:00
parent aae5999b44
commit bd9adab138
1 changed files with 6 additions and 7 deletions

View File

@ -263,14 +263,13 @@ tuplecontains(PyTupleObject *a, PyObject *el)
{
int i, cmp;
for (i = 0; i < a->ob_size; ++i) {
for (i = 0, cmp = 0 ; cmp == 0 && i < a->ob_size; ++i)
cmp = PyObject_RichCompareBool(el, PyTuple_GET_ITEM(a, i),
Py_EQ);
if (cmp > 0)
return 1;
else if (cmp < 0)
return -1;
}
Py_EQ);
if (cmp > 0)
return 1;
if (cmp < 0)
return -1;
return 0;
}