Mark Dickinson
0b666bfdf9
Issue #5512 : speed up the long division algorithm for Python longs.
...
The basic algorithm remains the same; the most significant speedups
come from the following three changes:
(1) normalize by shifting instead of multiplying and dividing
(2) the old algorithm usually did an unnecessary extra iteration of
the outer loop; remove this. As a special case, this means that
long divisions with a single-digit result run twice as fast as
before.
(3) make inner loop much tighter.
Various benchmarks show speedups of between 50% and 150% for long
integer divisions and modulo operations.
2009-03-23 18:25:13 +00:00
Raymond Hettinger
906f95e80b
Move initialization of root link to __init__.
2009-03-23 04:42:18 +00:00
Raymond Hettinger
f1e2df9780
Add more comments. Improve variable names.
...
Make links clearer by using a Link object
instead of a list. Use proxy links to avoid
circular references.
2009-03-23 00:08:09 +00:00
Benjamin Peterson
704dc269e3
AttributeError can be thrown during recursion errors
2009-03-22 22:24:58 +00:00
Lars Gustäbel
2020a59563
Issue #5068 : Fixed the tarfile._BZ2Proxy.read() method that would loop
...
forever on incomplete input. That caused tarfile.open() to hang when used
with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or
partial bzip2 compressed data.
2009-03-22 20:09:33 +00:00
Benjamin Peterson
b364bfe2f4
close the file even if an exception occurs #5536
2009-03-22 17:45:11 +00:00
Matthias Klose
8ed2520536
- Fix comment macro in python.man
2009-03-22 13:08:22 +00:00
Hirokazu Yamamoto
52a3492efb
There is no macro named SIZEOF_SSIZE_T. Should use SIZEOF_SIZE_T instead.
2009-03-21 10:32:52 +00:00
Mark Dickinson
f35f8044e4
Rewrite Py_ARITHMETIC_RIGHT_SHIFT so that it's valid for all signed
...
integer types T, not just those for which "unsigned T" is legal.
2009-03-20 23:16:14 +00:00
Raymond Hettinger
2cef1a5409
Add MutableSet example.
2009-03-20 18:25:49 +00:00
Mark Dickinson
efc82f7e8e
Issue #4258 : Use 30-bit digits for Python longs, on 64-bit platforms.
...
Backport of r70459.
2009-03-20 15:51:55 +00:00
Raymond Hettinger
c8e81ef508
Fix typo
2009-03-19 23:22:25 +00:00
Raymond Hettinger
e980d2d44b
* Add implementation notes.
...
* Re-order methods so that those touching the underlying data
structure come first and the derived methods come last.
2009-03-19 23:12:41 +00:00
Raymond Hettinger
2412299be9
* Add clearer comment to initialization code.
...
* Add optional argument to popitem() -- modeled
after Anthon van der Neut's C version.
* Fix method markup in docs.
2009-03-19 19:59:58 +00:00
Raymond Hettinger
a0b8d9ad2d
Silence a compiler warning.
2009-03-19 19:24:43 +00:00
Raymond Hettinger
91852ca673
Issue 5381: Add object_pairs_hook to the json module.
2009-03-19 19:19:03 +00:00
Raymond Hettinger
2124599eaa
Improve implementation with better underlying data structure
...
for O(1) deletions. Big-Oh performance now the same as regular
dictionaries. Uses a doubly-linked list instead of a list/seq
to track insertion order.
2009-03-19 15:21:10 +00:00
Benjamin Peterson
fcfa7ead4f
close files after comparing them
2009-03-19 03:04:31 +00:00
Raymond Hettinger
a61ae6922f
Use mixin methods where possible. (2.7 only -- these don't all exist in 3.0)
2009-03-18 22:13:20 +00:00
Benjamin Peterson
06919a177d
a much better example
2009-03-18 20:58:09 +00:00
Benjamin Peterson
6ffe852f90
fix strange errors when setting attributes on tracebacks #4034
2009-03-18 20:52:15 +00:00
Antoine Pitrou
7c33bd5ecb
Attempt to fix Solaris buildbot failure on test_locale
2009-03-18 17:10:04 +00:00
Mark Dickinson
6b265f1bf8
Issue 4474: On platforms with sizeof(wchar_t) == 4 and
...
sizeof(Py_UNICODE) == 2, PyUnicode_FromWideChar now converts
each character outside the BMP to the appropriate surrogate pair.
Thanks Victor Stinner for the patch.
(backport of r70452 from py3k to trunk)
2009-03-18 16:07:26 +00:00
Hirokazu Yamamoto
eb15863a97
Updated openssl support on VC6. (openssl-0.9.6g is old, cannot compile with _ssl.c)
...
If you use http://svn.python.org/projects/external/openssl-0.9.8g , Perl is not needed.
This scheme was ported from PCBuild.
2009-03-18 10:17:26 +00:00
Mark Dickinson
b14514a153
Fix bug in _insert_thousands_sep: too much zero padding could be
...
added for 'n' formats with non-repeating thousands-separator.
2009-03-18 08:22:51 +00:00
Bob Ippolito
d914e3f861
merge json library with simplejson 2.0.9 (issue 4136)
2009-03-17 23:19:00 +00:00
Mark Dickinson
277859d591
Issue #2110 : Add support for thousands separator and 'n' format specifier
...
to Decimal __format__ method.
2009-03-17 23:03:46 +00:00
Benjamin Peterson
ed3558b334
I thought this was begging for an example
2009-03-17 20:29:51 +00:00
Mark Dickinson
b065e52bc2
Fix bug in Decimal __format__ method that swapped left and right
...
alignment.
2009-03-17 18:01:03 +00:00
Georg Brandl
8cbe9556cf
Add token markup.
2009-03-16 19:42:03 +00:00
Hirokazu Yamamoto
bb7467f6e3
Added skip for old MSVC.
2009-03-15 22:43:14 +00:00
Georg Brandl
fc9ea97a18
Move the previously local import of threading to module level.
...
This is cleaner and avoids lockups in obscure cases where a Queue
is instantiated while the import lock is already held by another thread.
OKed by Tim Peters.
2009-03-15 22:11:07 +00:00
Georg Brandl
545a134916
Fix markup in re docs and give a mail address in regex howto, so that
...
the recommendation to send suggestions to the author can be followed.
2009-03-15 21:59:37 +00:00
Georg Brandl
173c1f1a01
#5469 : add with statement to list of name-binding constructs.
2009-03-15 21:53:56 +00:00
Georg Brandl
09827eb55e
#5276 : document IDLESTARTUP and .Idle.py.
2009-03-15 21:51:48 +00:00
Georg Brandl
8db96b5969
#5478 : fix copy-paste oversight in function signature.
2009-03-15 21:47:42 +00:00
Georg Brandl
44e5cd3e51
#5488 : add missing struct member.
2009-03-15 21:46:00 +00:00
Georg Brandl
5a95b21fee
#5491 : clarify nested() semantics.
2009-03-15 21:44:43 +00:00
Georg Brandl
ed4cefbedd
Fix a small nit in the error message if bool() falls back on __len__ and it returns the wrong type: it would tell the user that __nonzero__ should return bool or int.
2009-03-15 21:43:38 +00:00
Georg Brandl
3259ef3dff
#5493 : clarify __nonzero__ docs.
2009-03-15 21:37:16 +00:00
Georg Brandl
4c95e091d6
#5496 : fix docstring of lookup().
2009-03-15 21:32:06 +00:00
Benjamin Peterson
1706c644ae
fix tuple.index() error message #5495
2009-03-15 14:38:55 +00:00
Nick Coghlan
8eba5ed0d9
Make marshalling errors a little more informative as to what went wrong
2009-03-15 03:24:46 +00:00
Eric Smith
2ace4cf813
Unicode format tests weren't actually testing unicode. This was probably due to the original backport from py3k.
2009-03-14 14:37:38 +00:00
Eric Smith
6f42edb682
Issue 5237, Allow auto-numbered replacement fields in str.format() strings.
...
For simple uses for str.format(), this makes the typing easier. Hopfully this
will help in the adoption of str.format().
For example:
'The {} is {}'.format('sky', 'blue')
You can mix and matcth auto-numbering and named replacement fields:
'The {} is {color}'.format('sky', color='blue')
But you can't mix and match auto-numbering and specified numbering:
'The {0} is {}'.format('sky', 'blue')
ValueError: cannot switch from manual field specification to automatic field numbering
Will port to 3.1.
2009-03-14 11:57:26 +00:00
Antoine Pitrou
feeafff052
Issue #1222 : locale.format() bug when the thousands separator is a space character.
2009-03-14 00:07:21 +00:00
Georg Brandl
e83a4adba7
#5486 : typos.
2009-03-13 19:03:58 +00:00
Raymond Hettinger
efa7c138b6
Issue 5477: Fix buglet in the itertools documentation.
2009-03-12 00:31:58 +00:00
Raymond Hettinger
351de8017c
Add reference to solution for a commonly asked question.
2009-03-12 00:25:03 +00:00
Tarek Ziadé
61585c260c
Issue #5472 : Fixed distutils.test_util tear down
2009-03-11 12:48:04 +00:00