summaryrefslogtreecommitdiffstats
path: root/Modules/_heapqmodule.c
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2015-05-16 04:01:13 (GMT)
committerRaymond Hettinger <python@rcn.com>2015-05-16 04:01:13 (GMT)
commitc784c6db6056729427b8e61161101e4bb5d73150 (patch)
tree05b854a871a6448f455ca1e98138def79fcee81c /Modules/_heapqmodule.c
parent183a941bc148533a299c39123e7d6fe33c655c36 (diff)
downloadcpython-c784c6db6056729427b8e61161101e4bb5d73150.zip
cpython-c784c6db6056729427b8e61161101e4bb5d73150.tar.gz
cpython-c784c6db6056729427b8e61161101e4bb5d73150.tar.bz2
Tighten-up code by eliminating an unnecessary variable.
Diffstat (limited to 'Modules/_heapqmodule.c')
-rw-r--r--Modules/_heapqmodule.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/Modules/_heapqmodule.c b/Modules/_heapqmodule.c
index 6767feb..d709dd4 100644
--- a/Modules/_heapqmodule.c
+++ b/Modules/_heapqmodule.c
@@ -50,7 +50,7 @@ siftdown(PyListObject *heap, Py_ssize_t startpos, Py_ssize_t pos)
static int
siftup(PyListObject *heap, Py_ssize_t pos)
{
- Py_ssize_t startpos, endpos, childpos, rightpos, limit;
+ Py_ssize_t startpos, endpos, childpos, limit;
PyObject *tmp1, *tmp2;
int cmp;
@@ -67,16 +67,15 @@ siftup(PyListObject *heap, Py_ssize_t pos)
while (pos < limit) {
/* Set childpos to index of smaller child. */
childpos = 2*pos + 1; /* leftmost child position */
- rightpos = childpos + 1;
- if (rightpos < endpos) {
+ if (childpos + 1 < endpos) {
cmp = PyObject_RichCompareBool(
PyList_GET_ITEM(heap, childpos),
- PyList_GET_ITEM(heap, rightpos),
+ PyList_GET_ITEM(heap, childpos + 1),
Py_LT);
if (cmp == -1)
return -1;
if (cmp == 0)
- childpos = rightpos;
+ childpos++; /* rightmost child is smallest */
if (endpos != PyList_GET_SIZE(heap)) {
PyErr_SetString(PyExc_RuntimeError,
"list changed size during iteration");
@@ -402,7 +401,7 @@ siftdown_max(PyListObject *heap, Py_ssize_t startpos, Py_ssize_t pos)
static int
siftup_max(PyListObject *heap, Py_ssize_t pos)
{
- Py_ssize_t startpos, endpos, childpos, rightpos, limit;
+ Py_ssize_t startpos, endpos, childpos, limit;
PyObject *tmp1, *tmp2;
int cmp;
@@ -419,16 +418,15 @@ siftup_max(PyListObject *heap, Py_ssize_t pos)
while (pos < limit) {
/* Set childpos to index of smaller child. */
childpos = 2*pos + 1; /* leftmost child position */
- rightpos = childpos + 1;
- if (rightpos < endpos) {
+ if (childpos + 1 < endpos) {
cmp = PyObject_RichCompareBool(
- PyList_GET_ITEM(heap, rightpos),
+ PyList_GET_ITEM(heap, childpos + 1),
PyList_GET_ITEM(heap, childpos),
Py_LT);
if (cmp == -1)
return -1;
if (cmp == 0)
- childpos = rightpos;
+ childpos++; /* rightmost child is smallest */
if (endpos != PyList_GET_SIZE(heap)) {
PyErr_SetString(PyExc_RuntimeError,
"list changed size during iteration");