[Python-checkins] r84516 - python/branches/py3k/Modules/_heapqmodule.c

raymond.hettinger python-checkins at python.org
Sun Sep 5 07:26:10 CEST 2010


Author: raymond.hettinger
Date: Sun Sep 5 07:26:10 2010
New Revision: 84516
Log:
Inline cmp_lt().
Modified:
 python/branches/py3k/Modules/_heapqmodule.c
Modified: python/branches/py3k/Modules/_heapqmodule.c
==============================================================================
--- python/branches/py3k/Modules/_heapqmodule.c	(original)
+++ python/branches/py3k/Modules/_heapqmodule.c	Sun Sep 5 07:26:10 2010
@@ -9,12 +9,6 @@
 #include "Python.h"
 
 static int
-cmp_lt(PyObject *x, PyObject *y)
-{
- return PyObject_RichCompareBool(x, y, Py_LT);
-}
-
-static int
 _siftdown(PyListObject *heap, Py_ssize_t startpos, Py_ssize_t pos)
 {
 PyObject *newitem, *parent;
@@ -34,7 +28,7 @@
 while (pos > startpos){
 parentpos = (pos - 1) >> 1;
 parent = PyList_GET_ITEM(heap, parentpos);
- cmp = cmp_lt(newitem, parent);
+ cmp = PyObject_RichCompareBool(newitem, parent, Py_LT);
 if (cmp == -1) {
 Py_DECREF(newitem);
 return -1;
@@ -74,9 +68,10 @@
 /* Set childpos to index of smaller child. */
 rightpos = childpos + 1;
 if (rightpos < endpos) {
- cmp = cmp_lt(
+ cmp = PyObject_RichCompareBool(
 PyList_GET_ITEM(heap, childpos),
- PyList_GET_ITEM(heap, rightpos));
+ PyList_GET_ITEM(heap, rightpos),
+ Py_LT);
 if (cmp == -1) {
 Py_DECREF(newitem);
 return -1;
@@ -219,7 +214,7 @@
 return item;
 }
 
- cmp = cmp_lt(PyList_GET_ITEM(heap, 0), item);
+ cmp = PyObject_RichCompareBool(PyList_GET_ITEM(heap, 0), item, Py_LT);
 if (cmp == -1)
 return NULL;
 if (cmp == 0) {
@@ -318,7 +313,7 @@
 else
 goto sortit;
 }
- cmp = cmp_lt(sol, elem);
+ cmp = PyObject_RichCompareBool(sol, elem, Py_LT);
 if (cmp == -1) {
 Py_DECREF(elem);
 goto fail;
@@ -373,7 +368,7 @@
 while (pos > startpos){
 parentpos = (pos - 1) >> 1;
 parent = PyList_GET_ITEM(heap, parentpos);
- cmp = cmp_lt(parent, newitem);
+ cmp = PyObject_RichCompareBool(parent, newitem, Py_LT);
 if (cmp == -1) {
 Py_DECREF(newitem);
 return -1;
@@ -413,9 +408,10 @@
 /* Set childpos to index of smaller child. */
 rightpos = childpos + 1;
 if (rightpos < endpos) {
- cmp = cmp_lt(
+ cmp = PyObject_RichCompareBool(
 PyList_GET_ITEM(heap, rightpos),
- PyList_GET_ITEM(heap, childpos));
+ PyList_GET_ITEM(heap, childpos),
+ Py_LT);
 if (cmp == -1) {
 Py_DECREF(newitem);
 return -1;
@@ -488,7 +484,7 @@
 else
 goto sortit;
 }
- cmp = cmp_lt(elem, los);
+ cmp = PyObject_RichCompareBool(elem, los, Py_LT);
 if (cmp == -1) {
 Py_DECREF(elem);
 goto fail;


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /