[Python-checkins] CVS: python/dist/src/Misc NEWS,1.182,1.183
Tim Peters
tim_one@users.sourceforge.net
Mon, 11 Jun 2001 18:22:24 -0700
Update of /cvsroot/python/python/dist/src/Misc
In directory usw-pr-cvs1:/tmp/cvs-serv15300/python/dist/src/Misc
Modified Files:
NEWS
Log Message:
Added q/Q standard (x-platform 8-byte ints) mode in struct module.
This completes the q/Q project.
longobject.c _PyLong_AsByteArray: The original code had a gross bug:
the most-significant Python digit doesn't necessarily have SHIFT
significant bits, and you really need to count how many copies of the sign
bit it has else spurious overflow errors result.
test_struct.py: This now does exhaustive std q/Q testing at, and on both
sides of, all relevant power-of-2 boundaries, both positive and negative.
NEWS: Added brief dict news while I was at it.
Index: NEWS
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/NEWS,v
retrieving revision 1.182
retrieving revision 1.183
diff -C2 -r1.182 -r1.183
*** NEWS 2001/06/10 23:40:19 1.182
--- NEWS 2001/06/12 01:22:21 1.183
***************
*** 85,88 ****
--- 85,91 ----
order.
+ - Many other small changes to dicts were made, resulting in faster
+ operation along the most common code paths.
+
- Dictionary objects now support the "in" operator: "x in dict" means
the same as dict.has_key(x).
***************
*** 120,124 ****
- Collisions in dicts are resolved via a new approach, which can help
dramatically in bad cases. For example, looking up every key in a dict
! d with d.keys() = [i << 16 for i in range(20000)] is approximately 500x
faster now. Thanks to Christian Tismer for pointing out the cause and
the nature of an effective cure (last December! better late than never).
--- 123,127 ----
- Collisions in dicts are resolved via a new approach, which can help
dramatically in bad cases. For example, looking up every key in a dict
! d with d.keys() == [i << 16 for i in range(20000)] is approximately 500x
faster now. Thanks to Christian Tismer for pointing out the cause and
the nature of an effective cure (last December! better late than never).
***************
*** 146,151 ****
these types (when HAVE_LONG_LONG is #define'd by the Python config
process), and then they inherit the sizes and alignments of the C types.
! XXX TODO In standard mode, 'q' and 'Q' are supported on all platforms, and
! XXX TODO are 8-byte integral types.
Tests
--- 149,154 ----
these types (when HAVE_LONG_LONG is #define'd by the Python config
process), and then they inherit the sizes and alignments of the C types.
! In standard mode, 'q' and 'Q' are supported on all platforms, and are
! 8-byte integral types.
Tests