[Python-checkins] python/dist/src/Include setobject.h,2.8,2.9
rhettinger@users.sourceforge.net
rhettinger at users.sourceforge.net
Sun Aug 7 15:02:55 CEST 2005
Update of /cvsroot/python/python/dist/src/Include
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2124/Include
Modified Files:
setobject.h
Log Message:
* Bring in INIT_NONZERO_SET_SLOTS macro from dictionary code.
* Bring in free list from dictionary code.
* Improve several comments.
* Differencing can leave many dummy entries. If more than
1/6 are dummies, then resize them away.
* Factor-out common code with new macro, PyAnySet_CheckExact.
Index: setobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/setobject.h,v
retrieving revision 2.8
retrieving revision 2.9
diff -u -d -r2.8 -r2.9
--- setobject.h 2 Aug 2005 03:45:16 -0000 2.8
+++ setobject.h 7 Aug 2005 13:02:52 -0000 2.9
@@ -59,12 +59,16 @@
PyAPI_DATA(PyTypeObject) PySet_Type;
PyAPI_DATA(PyTypeObject) PyFrozenSet_Type;
-/* Invariants for frozensets only:
+/* Invariants for frozensets:
* data is immutable.
* hash is the hash of the frozenset or -1 if not computed yet.
+ * Invariants for sets:
+ * hash is -1
*/
#define PyFrozenSet_CheckExact(ob) ((ob)->ob_type == &PyFrozenSet_Type)
+#define PyAnySet_CheckExact(ob) \
+ ((ob)->ob_type == &PySet_Type || (ob)->ob_type == &PyFrozenSet_Type)
#define PyAnySet_Check(ob) \
((ob)->ob_type == &PySet_Type || (ob)->ob_type == &PyFrozenSet_Type || \
PyType_IsSubtype((ob)->ob_type, &PySet_Type) || \
More information about the Python-checkins
mailing list