[Python-checkins] python/dist/src/Objects tupleobject.c,2.72,2.73

rhettinger@users.sourceforge.net rhettinger@users.sourceforge.net
2002年9月05日 13:18:10 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv25563
Modified Files:
	tupleobject.c 
Log Message:
Micro-optimization for list_contains. Factored double if test 
out of the loop.
Index: tupleobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/tupleobject.c,v
retrieving revision 2.72
retrieving revision 2.73
diff -C2 -d -r2.72 -r2.73
*** tupleobject.c	19 Aug 2002 19:26:42 -0000	2.72
--- tupleobject.c	5 Sep 2002 20:18:08 -0000	2.73
***************
*** 264,275 ****
 	int i, cmp;
 
! 	for (i = 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;
! 	}
 	return 0;
 }
--- 264,274 ----
 	int i, cmp;
 
! 	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;
! 	if (cmp < 0)
! 		return -1;
 	return 0;
 }

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