Skip to content

Commit e1b0287

Browse files
authored
Code clean-up. Remove unnecessary pre-increment before the loop starts. (#3312)
1 parent af64aff commit e1b0287

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

Modules/_collectionsmodule.c

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -938,8 +938,7 @@ deque_reverse(dequeobject *deque, PyObject *unused)
938938
Py_ssize_t n = Py_SIZE(deque) >> 1;
939939
PyObject *tmp;
940940

941-
n++;
942-
while (--n) {
941+
while (--n >= 0) {
943942
/* Validate that pointers haven't met in the middle */
944943
assert(leftblock != rightblock || leftindex < rightindex);
945944
CHECK_NOT_END(leftblock);
@@ -981,8 +980,7 @@ deque_count(dequeobject *deque, PyObject *v)
981980
PyObject *item;
982981
int cmp;
983982

984-
n++;
985-
while (--n) {
983+
while (--n >= 0) {
986984
CHECK_NOT_END(b);
987985
item = b->data[index];
988986
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
@@ -1019,8 +1017,7 @@ deque_contains(dequeobject *deque, PyObject *v)
10191017
PyObject *item;
10201018
int cmp;
10211019

1022-
n++;
1023-
while (--n) {
1020+
while (--n >= 0) {
10241021
CHECK_NOT_END(b);
10251022
item = b->data[index];
10261023
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
@@ -1088,13 +1085,13 @@ deque_index(dequeobject *deque, PyObject **args, Py_ssize_t nargs)
10881085
}
10891086
}
10901087

1091-
n = stop - i + 1;
1092-
while (--n) {
1088+
n = stop - i;
1089+
while (--n >= 0) {
10931090
CHECK_NOT_END(b);
10941091
item = b->data[index];
10951092
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
10961093
if (cmp > 0)
1097-
return PyLong_FromSsize_t(stop - n);
1094+
return PyLong_FromSsize_t(stop - n - 1);
10981095
if (cmp < 0)
10991096
return NULL;
11001097
if (start_state != deque->state) {
@@ -1228,16 +1225,14 @@ deque_item(dequeobject *deque, Py_ssize_t i)
12281225
i = (Py_ssize_t)((size_t) i % BLOCKLEN);
12291226
if (index < (Py_SIZE(deque) >> 1)) {
12301227
b = deque->leftblock;
1231-
n++;
1232-
while (--n)
1228+
while (--n >= 0)
12331229
b = b->rightlink;
12341230
} else {
12351231
n = (Py_ssize_t)(
12361232
((size_t)(deque->leftindex + Py_SIZE(deque) - 1))
12371233
/ BLOCKLEN - n);
12381234
b = deque->rightblock;
1239-
n++;
1240-
while (--n)
1235+
while (--n >= 0)
12411236
b = b->leftlink;
12421237
}
12431238
}
@@ -1281,16 +1276,14 @@ deque_ass_item(dequeobject *deque, Py_ssize_t i, PyObject *v)
12811276
i = (Py_ssize_t)((size_t) i % BLOCKLEN);
12821277
if (index <= halflen) {
12831278
b = deque->leftblock;
1284-
n++;
1285-
while (--n)
1279+
while (--n >= 0)
12861280
b = b->rightlink;
12871281
} else {
12881282
n = (Py_ssize_t)(
12891283
((size_t)(deque->leftindex + Py_SIZE(deque) - 1))
12901284
/ BLOCKLEN - n);
12911285
b = deque->rightblock;
1292-
n++;
1293-
while (--n)
1286+
while (--n >= 0)
12941287
b = b->leftlink;
12951288
}
12961289
Py_INCREF(v);

0 commit comments

Comments
 (0)