Serhiy Storchaka
505ff755d7
Issue #20437 : Fixed 21 potential bugs when deleting objects references.
2014-02-09 13:33:53 +02:00
Larry Hastings
2623c8c23c
Issue #20530 : Argument Clinic's signature format has been revised again.
...
The new syntax is highly human readable while still preventing false
positives. The syntax also extends Python syntax to denote "self" and
positional-only parameters, allowing inspect.Signature objects to be
totally accurate for all supported builtins in Python 3.4.
2014-02-08 22:15:29 -08:00
Nick Coghlan
d979e4335d
Close #20500 : Don't trigger PyObject_Str assertion at shutdown
2014-02-09 10:43:21 +10:00
Serhiy Storchaka
6cbf151032
Issue #20538 : UTF-7 incremental decoder produced inconsistant string when
...
input was truncated in BASE64 section.
2014-02-08 14:06:33 +02:00
Serhiy Storchaka
016a3f33a5
Issue #20538 : UTF-7 incremental decoder produced inconsistant string when
...
input was truncated in BASE64 section.
2014-02-08 14:01:29 +02:00
Victor Stinner
1ea4e4174b
Issue #17162 : Fix compilation, replace non-breaking space with an ASCII space
2014-02-04 09:49:14 +01:00
Martin v. Löwis
ca7b04644c
Issue #17162 : Add PyType_GetSlot.
2014-02-04 09:33:05 +01:00
Larry Hastings
581ee3618c
Issue #20326 : Argument Clinic now uses a simple, unique signature to
...
annotate text signatures in docstrings, resulting in fewer false
positives. "self" parameters are also explicitly marked, allowing
inspect.Signature() to authoritatively detect (and skip) said parameters.
Issue #20326 : Argument Clinic now generates separate checksums for the
input and output sections of the block, allowing external tools to verify
that the input has not changed (and thus the output is not out-of-date).
2014-01-28 05:00:08 -08:00
Nick Coghlan
77b286b2cc
Close #20105 : set __traceback__ when chaining exceptions in C
2014-01-27 00:53:38 +10:00
Larry Hastings
c20472640c
Issue #20390 : Small fixes and improvements for Argument Clinic.
2014-01-25 20:43:29 -08:00
Larry Hastings
5c66189e88
Issue #20189 : Four additional builtin types (PyTypeObject,
...
PyMethodDescr_Type, _PyMethodWrapper_Type, and PyWrapperDescr_Type)
have been modified to provide introspection information for builtins.
Also: many additional Lib, test suite, and Argument Clinic fixes.
2014-01-24 06:17:25 -08:00
Serhiy Storchaka
8f8ec92de8
Issue #19936 : Added executable bits or shebang lines to Python scripts which
...
requires them. Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface. Fixed
shebang lines in the unittestgui and checkpip scripts.
2014-01-16 17:33:23 +02:00
Serhiy Storchaka
b992a0e102
Issue #19936 : Added executable bits or shebang lines to Python scripts which
...
requires them. Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface. Fixed
shebang line to use python3 executable in the unittestgui script.
2014-01-16 17:15:49 +02:00
Meador Inge
e02de8c2ad
Fix minor bug in dict.__contains__ docstring.
...
When dict got clinicized in 8fde1a2c94dc for Issue #16612 an erroneous
trailing quote was left in the clinic docstring summary line.
2014-01-14 16:48:31 -06:00
Eric V. Smith
6ba5665fc7
Fix typo in comment.
2014-01-14 08:15:03 -05:00
Ethan Furman
a70805e1fa
Issue19995: fixed typo; switched from test.support.check_warnings to assertWarns
2014-01-12 08:42:35 -08:00
Ethan Furman
f9bba9c67f
Issue19995: issue deprecation warning for non-integer values to %c, %o, %x, %X
2014-01-11 23:20:58 -08:00
Larry Hastings
61272b77b0
Issue #19273 : The marker comments Argument Clinic uses have been changed
...
to improve readability.
2014-01-07 12:41:53 -08:00
Raymond Hettinger
74fc8c47f6
Add comments to frozenset_hash().
...
Also, provide a minor hint to the compiler on how to group the xors.
2014-01-05 12:00:31 -08:00
Ethan Furman
df3ed242c0
Issue19995: %o, %x, %X now only accept ints
2014-01-05 06:50:30 -08:00
Serhiy Storchaka
3079328d29
Reverted changeset b72c5573c5e7 (issue #15027 ).
2014-01-04 22:44:01 +02:00
Serhiy Storchaka
583a93943c
Issue #15027 : Rewrite the UTF-32 encoder. It is now 1.6x to 3.5x faster.
2014-01-04 19:25:37 +02:00
Victor Stinner
fa4e68d425
Remove deadcode (HASH macro is no more defined)
2014-01-03 17:42:18 +01:00
Victor Stinner
92a419eea4
Remove now unused variables
2014-01-03 17:39:40 +01:00
Victor Stinner
f3b46b4a66
unicode_char() uses get_latin1_char() to get latin1 singleton characters
2014-01-03 13:16:00 +01:00
Victor Stinner
985a82a6d2
add unicode_char() in unicodeobject.c to factorize code
2014-01-03 12:53:47 +01:00
Christian Heimes
af01f66817
Issue #16136 : Remove VMS support and VMS-related code
2013-12-21 16:19:10 +01:00
Victor Stinner
4ac9c00cff
Better assertion in PyObject_Call() to detect functions returning a result with
...
an exception set (invalid state).
2013-12-19 13:47:35 +01:00
Raymond Hettinger
e259f13874
Minor code clean-up. Keep the C-API all in one section.
2013-12-15 11:56:14 -08:00
Serhiy Storchaka
c836a28cc1
Issue #17576 : Removed deprecation warnings added in changeset 618cca51a27e.
2013-12-14 21:07:09 +02:00
Victor Stinner
507ac3a591
(Merge 3.3) Issue #19969 : PyBytes_FromFormatV() now raises an OverflowError if
...
"%c" argument is not in range [0; 255].
2013-12-13 12:15:31 +01:00
Victor Stinner
c9362cf86a
Issue #19969 : PyBytes_FromFormatV() now raises an OverflowError if "%c"
...
argument is not in range [0; 255].
2013-12-13 12:14:44 +01:00
Victor Stinner
1310510793
Issue #14432 : Generator now clears the borrowed reference to the thread state
...
Fix a crash when a generator is created in a C thread that is destroyed while
the generator is still used. The issue was that a generator contains a frame,
and the frame kept a reference to the Python state of the destroyed C thread.
The crash occurs when a trace function is setup.
2013-12-13 02:17:29 +01:00
Victor Stinner
fdeb6ec45a
Issue #14432 : Remove the thread state field from the frame structure. Fix a
...
crash when a generator is created in a C thread that is destroyed while the
generator is still used. The issue was that a generator contains a frame, and
the frame kept a reference to the Python state of the destroyed C thread. The
crash occurs when a trace function is setup.
2013-12-13 02:01:38 +01:00
Serhiy Storchaka
c4f3212abc
Issue #17576 : Deprecation warning emitted now when __int__() or __index__()
...
return not int instance. Introduced _PyLong_FromNbInt() and refactored
PyLong_As*() functions.
2013-12-11 21:26:36 +02:00
Serhiy Storchaka
31a655411a
Issue #17576 : Deprecation warning emitted now when __int__() or __index__()
...
return not int instance. Introduced _PyLong_FromNbInt() and refactored
PyLong_As*() functions.
2013-12-11 21:07:54 +02:00
Christian Heimes
d3afe781b1
Silence expression result unused warnings with clang.
...
The PyObject_INIT() macros returns obj:
../cpython/Objects/methodobject.c:32:23: warning: expression result unused [-Wunused-value]
PyObject_INIT(op, &PyCFunction_Type);
^~
../cpython/Include/objimpl.h:139:69: note: expanded from macro 'PyObject_INIT'
( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) )
^
1 warning generated.
2013-12-04 09:27:47 +01:00
Alexandre Vassalotti
2ccf8e969c
Issue #6477 : Merge with 3.3.
2013-11-30 17:58:53 -08:00
Alexandre Vassalotti
65846c6c51
Issue #6477 : Keep PyNotImplemented_Type and PyNone_Type private.
2013-11-30 17:55:48 -08:00
Alexandre Vassalotti
3c23e7a5dc
Issue #6477 : Merge with 3.3.
2013-11-30 16:21:20 -08:00
Alexandre Vassalotti
19b6fa6ebb
Issue #6477 : Added support for pickling the types of built-in singletons.
2013-11-30 16:06:39 -08:00
Alexandre Vassalotti
cc6e87b2cf
Issue #19088 : Merge with 3.3.
2013-11-30 01:05:51 -08:00
Alexandre Vassalotti
1a83070d9e
Issue #19088 : Fix incorrect caching of the copyreg module.
...
This fix does not cause any degradation in performance.
2013-11-30 00:53:09 -08:00
Benjamin Peterson
0ee22bf774
fix format spec recursive expansion ( closes #19729 )
2013-11-26 19:22:36 -06:00
Gregory P. Smith
65482570f1
Remove an errant extra \ within a docstring.
2013-11-25 00:31:31 -08:00
Gregory P. Smith
0e524047e2
Remove an errant extra \ within a docstring.
2013-11-25 00:30:56 -08:00
Raymond Hettinger
799f81b14c
merge
2013-11-24 14:53:54 -08:00
Raymond Hettinger
97fc2ba6bf
Document that @property can incorporate a docstring from the getter method. Improve readabilty with additional whitespace.
2013-11-24 14:53:29 -08:00
Alexandre Vassalotti
c49477b184
Make Ellipsis and NotImplemented picklable through the reduce protocol.
2013-11-24 02:53:45 -08:00
Alexandre Vassalotti
4c05d3bc56
Make built-in methods picklable through the reduce protocol.
2013-11-24 02:41:05 -08:00
Zachary Ware
a4b7a7548c
Issue #3158 : doctest can now find doctests in functions and methods
...
written in C.
As a part of this, a few doctests have been added to the builtins module
(on hex(), oct(), and bin()), a doctest has been fixed (hopefully on all
platforms) on float, and test_builtins now runs doctests in builtins.
2013-11-24 01:19:09 -06:00
Larry Hastings
44e2eaab54
Issue #19674 : inspect.signature() now produces a correct signature
...
for some builtins.
2013-11-23 15:37:55 -08:00
Larry Hastings
ebdcb50b8a
Issue #19730 : Argument Clinic now supports all the existing PyArg
...
"format units" as legacy converters, as well as two new features:
"self converters" and the "version" directive.
2013-11-23 14:54:00 -08:00
Christian Heimes
2489bd83f5
Issue #17810 : Fixed NULL check in _PyObject_GetItemsIter()
...
CID 1131948: Logically dead code (DEADCODE)
2013-11-23 21:19:43 +01:00
Antoine Pitrou
c9dc4a2a8a
Issue #17810 : Implement PEP 3154, pickle protocol 4.
...
Most of the work is by Alexandre.
2013-11-23 18:59:12 +01:00
Eric Snow
b523f8433a
Implement PEP 451 (ModuleSpec).
2013-11-22 09:05:39 -07:00
Nick Coghlan
c72e4e6dcc
Issue #19619 : Blacklist non-text codecs in method API
...
str.encode, bytes.decode and bytearray.decode now use an
internal API to throw LookupError for known non-text encodings,
rather than attempting the encoding or decoding operation and
then throwing a TypeError for an unexpected output type.
The latter mechanism remains in place for third party non-text
encodings.
2013-11-22 22:39:36 +10:00
Victor Stinner
8455723cfb
Close #19568 : Fix bytearray_setslice_linear(), fix handling of
...
PyByteArray_Resize() failure: leave the bytearray object in an consistent state.
If growth < 0, handling the memory allocation failure is tricky here because
the bytearray object has already been modified. If lo != 0, the operation is
completed, but a MemoryError is still raised and the memory block is not
shrinked. If lo == 0, the bytearray is restored in its previous state and a
MemoryError is raised.
2013-11-21 12:29:51 +01:00
Victor Stinner
35f2803a24
Close #19578 : Fix list_ass_subscript(), handle list_resize() failure
...
Notify the caller of the failure (MemoryError exception).
2013-11-21 12:16:35 +01:00
Christian Heimes
985ecdcfc2
ssue #19183 : Implement PEP 456 'secure and interchangeable hash algorithm'.
...
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Serhiy Storchaka
dc2fd5101a
Remove dead code committed in issue #12892 .
2013-11-19 15:56:05 +02:00
Nick Coghlan
f1de55fb33
Also chain codec exceptions that allow weakrefs
...
The zlib and hex codecs throw custom exception types with
weakref support if the input type is valid, but the data
fails validation. Make sure the exception chaining in the
codec infrastructure can wrap those as well.
2013-11-19 22:33:10 +10:00
Victor Stinner
f91929b1d8
Issue #19646 : repr(dict) now uses _PyUnicodeWriter API for better performances
2013-11-19 13:07:38 +01:00
Victor Stinner
88a9cd9b57
Issue #19513 : repr(tuple) now uses _PyUnicodeWriter for better performances
2013-11-19 12:59:46 +01:00
Victor Stinner
4a58707a34
Add _PyUnicodeWriter_WriteASCIIString() function
2013-11-19 12:54:53 +01:00
Victor Stinner
4d3f109ad3
Issue #19513 : Disable overallocation of the PyUnicodeWriter before the last write
2013-11-19 12:09:00 +01:00
Serhiy Storchaka
58cf607d13
Issue #12892 : The utf-16* and utf-32* codecs now reject (lone) surrogates.
...
The utf-16* and utf-32* encoders no longer allow surrogate code points
(U+D800-U+DFFF) to be encoded.
The utf-32* decoders no longer decode byte sequences that correspond to
surrogate code points.
The surrogatepass error handler now works with the utf-16* and utf-32* codecs.
Based on patches by Victor Stinner and Kang-Hao (Kenny) Lu.
2013-11-19 11:32:41 +02:00
Victor Stinner
b8fb197aa0
Issue #19513 : Simplify list_repr()
2013-11-18 22:15:44 +01:00
Victor Stinner
5c733473f2
Issue #19513 : repr(list) now uses the PyUnicodeWriter API, it is faster than
...
the PyAccu API
2013-11-18 21:11:57 +01:00
Victor Stinner
6989ba0174
Issue #19581 : Change the overallocation factor of _PyUnicodeWriter on Windows
...
On Windows, a factor of 50% gives best performances.
2013-11-18 21:08:39 +01:00
Larry Hastings
ed4a1c5703
Argument Clinic: rename "self" to "module" for module-level functions.
2013-11-18 09:32:13 -08:00
Ezio Melotti
745d54d2fa
#17806 : Added keyword-argument support for "tabsize" to str/bytes.expandtabs().
2013-11-16 19:10:57 +02:00
Nick Coghlan
4b9b936429
Don't decref exc too soon
2013-11-16 00:34:13 +10:00
Victor Stinner
46ef31953e
Issue #19429 , #19437 : fix error handling in the OSError constructor
2013-11-14 22:31:41 +01:00
Benjamin Peterson
e109ee8205
fix refleaks
2013-11-13 23:49:49 -05:00
Benjamin Peterson
079c998872
adjust style
2013-11-13 23:25:01 -05:00
Christian Heimes
6a3db25c70
Issue #17828 : _PyObject_GetDictPtr() may return NULL instead of a PyObject**
...
CID 1128792: Dereference null return value (NULL_RETURNS)
2013-11-14 01:47:14 +01:00
Christian Heimes
507eabdf11
Issue #17828 : va_start() must be accompanied by va_end()
...
CID 1128793: Missing varargs init or cleanup (VARARGS)
2013-11-14 01:39:35 +01:00
Nick Coghlan
8b097b4ed7
Close #17828 : better handling of codec errors
...
- output type errors now redirect users to the type-neutral
convenience functions in the codecs module
- stateless errors that occur during encoding and decoding
will now be automatically wrapped in exceptions that give
the name of the codec involved
2013-11-13 23:49:21 +10:00
Victor Stinner
59799a8399
Don't use deprecated function PyUnicode_GET_SIZE()
...
Replace it with PyUnicode_GET_LENGTH() or PyUnicode_AsUnicodeAndSize()
2013-11-13 14:17:30 +01:00
Victor Stinner
3f36a5736b
Issue #19515 : Remove identifiers duplicated in the same file.
...
Patch written by Andrei Dorian Duma.
2013-11-12 21:39:02 +01:00
Victor Stinner
66b3270975
_Py_normalize_encoding(): explain how the value 6 was computed
2013-11-07 23:12:23 +01:00
Victor Stinner
bd303c165b
Issue #19512 , #19515 : remove shared identifiers, move identifiers where they
...
are used.
Move also _Py_IDENTIFIER() defintions to the top in modified files to remove
identifiers duplicated in the same file.
2013-11-07 23:07:29 +01:00
Victor Stinner
07e9e380f9
frameobject.c: Use an identifer instead of creating explicitly an interned
...
string for "__builtins__" literal string
2013-11-07 22:22:39 +01:00
Victor Stinner
df23e30bea
Fix _Py_normalize_encoding(): ensure that buffer is big enough to store "utf-8"
...
if the input string is NULL
2013-11-07 13:33:36 +01:00
Martin v. Löwis
e75fc14813
Issue #19514 : Deduplicate some _Py_IDENTIFIER declarations.
...
Patch by Andrei Dorian Duma.
2013-11-07 18:46:53 +01:00
Ezio Melotti
a5b9599538
#17080 : improve error message of float/complex when the wrong type is passed.
2013-11-07 19:18:34 +02:00
Victor Stinner
53e9ec48e5
Issue #19512 : Use the new _PyId_builtins identifier
2013-11-07 00:43:05 +01:00
Victor Stinner
ad14ccd047
Issue #19512 : add _PyUnicode_CompareWithId() function
...
_PyUnicode_CompareWithId() is faster than PyUnicode_CompareWithASCIIString()
when both strings are equal and interned.
Add also _PyId_builtins identifier for "builtins" common string.
2013-11-07 00:46:04 +01:00
Victor Stinner
3688aa9a04
Issue #19512 : type_abstractmethods() and type_set_abstractmethods() now use an
...
identifier for the "__abstractmethods__" string
2013-11-06 18:59:18 +01:00
Victor Stinner
5fd2e5ae8a
Issue #19512 : Add a new _PyDict_DelItemId() function, similar to
...
PyDict_DelItemString() but using an identifier for the key
2013-11-06 18:58:22 +01:00
Victor Stinner
7a07e451a4
Issue #19512 : Py_ReprEnter() and Py_ReprLeave() now use an identifier for the
...
"Py_Repr" dictionary key
2013-11-06 18:57:29 +01:00
Victor Stinner
21ea21ef6d
Issue #19424 : PyUnicode_CompareWithASCIIString() normalizes memcmp() result
...
to -1, 0, 1
2013-11-04 11:28:26 +01:00
Victor Stinner
f0c7b2af05
Issue #16286 : remove duplicated identity check from unicode_compare()
...
Move the test to PyUnicode_Compare()
2013-11-04 11:27:14 +01:00
Victor Stinner
fd9e44db37
Issue #16286 : optimize PyUnicode_RichCompare() for identical strings (same
...
pointer) for any operator, not only Py_EQ and Py_NE.
Code of bytes_richcompare() and PyUnicode_RichCompare() is now closer.
2013-11-04 11:23:05 +01:00
Victor Stinner
c8bc5377ac
Issue #16286 : write a new subfunction bytes_compare_eq()
...
* cleanup bytes_richcompare()
* PyUnicode_RichCompare(): replace a test with a XOR
2013-11-04 11:08:10 +01:00
Victor Stinner
e1b1592fd4
Issue #19424 : Fix a compiler warning on comparing signed/unsigned size_t
...
Patch written by Zachary Ware.
2013-11-03 13:53:12 +01:00
Victor Stinner
a6b9b071a3
Issue #19424 : Fix a compiler warning
...
memcmp() just takes raw pointers
2013-10-30 18:27:13 +01:00
Victor Stinner
602f7cf0b9
Issue #19424 : Optimize PyUnicode_CompareWithASCIIString()
...
Use fast memcmp() instead of a loop using the slow PyUnicode_READ() macro.
strlen() is still necessary to check Unicode string containing null bytes.
2013-10-29 23:31:50 +01:00
Antoine Pitrou
84745ab464
Issue #17936 : Fix O(n**2) behaviour when adding or removing many subclasses of a given type.
2013-10-29 21:31:25 +01:00
Victor Stinner
68b674c9d4
Issue #19437 : Fix _PyUnicode_New() (constructor of legacy string), set all
...
attributes before checking for error. The destructor expects all attributes to
be set. It is now safe to call Py_DECREF(unicode) in the constructor.
2013-10-29 19:31:43 +01:00
Victor Stinner
0b0c867178
Issue #19437 : Fix PyObject_CallFunction(), handle Py_VaBuildValue() and
...
PyTuple_New() failure
2013-10-29 19:29:52 +01:00
Victor Stinner
fa3ba4c3bc
Issue #18609 : Add a fast-path for "iso8859-1" encoding
...
On AIX, the locale encoding may be "iso8859-1", which was not a known syntax of
the legacy ISO 8859-1 encoding.
Using a C codec instead of a Python codec is faster but also avoids tricky
issues during Python startup or complex code.
2013-10-29 11:34:05 +01:00
Victor Stinner
bebba5059c
fix indent
2013-10-29 10:56:34 +01:00
Victor Stinner
cc64eb5b9f
Issue #18408 : Fix bytearrayiter.partition()/rpartition(), handle
...
PyByteArray_FromStringAndSize() failure (ex: on memory allocation failure)
2013-10-29 03:15:37 +01:00
Victor Stinner
986e224d5a
Issue #18408 : Fix error handling in PyBytes_FromObject()
...
_PyBytes_Resize(&new) sets new to NULL on error, don't call Py_DECREF() with NULL.
2013-10-29 03:14:22 +01:00
Victor Stinner
a5afb58986
Issue #18408 : Fix PyUnicode_AsUTF8AndSize(), raise MemoryError exception on
...
memory allocation failure
2013-10-29 01:28:23 +01:00
Victor Stinner
41bb43a71e
Issue #18408 : Add a new PyFrame_FastToLocalsWithError() function to handle
...
exceptions when merging fast locals into f_locals of a frame.
PyEval_GetLocals() now raises an exception and return NULL on failure.
2013-10-29 01:19:37 +01:00
Serhiy Storchaka
f740d467bf
Issue #19369 : Optimized the usage of __length_hint__().
2013-10-24 23:19:51 +03:00
Serhiy Storchaka
c679227e31
Issue #1772673 : The type of `char*` arguments now changed to `const char*`.
2013-10-19 21:03:34 +03:00
Serhiy Storchaka
55e092f545
Issue #19279 : UTF-7 decoder no more produces illegal strings.
2013-10-19 20:39:28 +03:00
Serhiy Storchaka
35804e4c63
Issue #19279 : UTF-7 decoder no more produces illegal strings.
2013-10-19 20:38:19 +03:00
Larry Hastings
3182680210
Issue #16612 : Add "Argument Clinic", a compile-time preprocessor
...
for C files to generate argument parsing code. (See PEP 436.)
2013-10-19 00:09:25 -07:00
Benjamin Peterson
94d08d908b
upgrade unicode db to 6.3.0 ( closes #19221 )
2013-10-10 17:24:45 -04:00
Victor Stinner
6cf185dc06
Issue #18874 : _PyObject_Malloc/Realloc/Free() now falls back on
...
_PyMem_RawMalloc/Realloc/Free, instead of _PyMem_Malloc/Realloc/Free. So it
becomes possible to use the fast pymalloc allocator for the PYMEM_DOMAIN_MEM
domain (PyMem_Malloc/Realloc/Free functions).
2013-10-10 15:58:42 +02:00
Victor Stinner
7c74de4d00
Issue #18874 : PyCode_New() now ensures that the filename is a ready Unicode
...
string. This change does nothing is most cases, but it is useful on Windows in
some cases.
2013-10-10 15:55:14 +02:00
Tim Peters
9259c21a63
Issue #19171 : speed some cases of 3-argument long pow().
...
Reduce the base by the modulus when the base is larger than
the modulus. This can unboundedly speed the "startup costs"
of doing modular exponentiation, particularly in cases where
the base is much larger than the modulus. Original patch
by Armin Rigo, inspired by https://github.com/pyca/ed25519 .
Merged from 3.3.
2013-10-05 16:55:38 -05:00
Tim Peters
81a93159d7
Issue #19171 : speed some cases of 3-argument long pow().
...
Reduce the base by the modulus when the base is larger than
the modulus. This can unboundedly speed the "startup costs"
of doing modular exponentiation, particularly in cases where
the base is much larger than the modulus. Original patch
by Armin Rigo, inspired by https://github.com/pyca/ed25519 .
2013-10-05 16:53:52 -05:00
Ezio Melotti
e898153c0f
#19069 : merge with 3.3.
2013-10-06 00:46:58 +03:00
Ezio Melotti
7760b4eb4b
#19069 : use imperative mood in float object docstrings. Patch by Marco Buttu.
2013-10-06 00:45:11 +03:00
Ezio Melotti
c1ae254717
#19068 : merge with 3.3.
2013-10-06 00:39:44 +03:00
Ezio Melotti
488d244e1a
#19068 : use imperative mood in complex object docstrings. Patch by Marco Buttu.
2013-10-06 00:39:18 +03:00
Ezio Melotti
b32a8111c9
#19067 : merge with 3.3.
2013-10-06 00:38:19 +03:00
Ezio Melotti
5792ce151c
#19067 : use imperative mood in range object docstrings. Patch by Marco Buttu.
2013-10-06 00:36:45 +03:00
Antoine Pitrou
5b72075387
Hopefully fix Windows compilation error following 499a96611baa
2013-10-05 21:24:10 +02:00
Antoine Pitrou
5df8a8a1fd
Issue #19087 : Improve bytearray allocation in order to allow cheap popping of data at the front (slice deletion).
2013-10-05 21:12:18 +02:00
Antoine Pitrou
0e61ed8400
Issue #19014 : memoryview.cast() is now allowed on zero-length views.
2013-10-03 19:56:54 +02:00
Antoine Pitrou
60b183407c
Issue #19014 : memoryview.cast() is now allowed on zero-length views.
2013-10-03 19:55:41 +02:00
Nick Coghlan
a0f169cde8
Close #19078 : memoryview now supports reversed
...
Patch by Claudiu Popa
2013-10-02 22:06:54 +10:00
Raymond Hettinger
c13516b0a0
merge
2013-10-01 01:00:59 -07:00
Raymond Hettinger
2ff2190b62
Issue #18594 : Fix the fast path for collections.Counter().
...
The path wasn't being taken due to an over-restrictive type check.
2013-10-01 00:55:43 -07:00
Nick Coghlan
6ba64f454d
Close #18596 : Support address sanity checking in clang/GCC
...
This patch appropriately marks known false alarms in the
small object allocator when address sanity checking is
enabled (patch contributed by Dhiru Kholia).
2013-09-29 00:28:55 +10:00
Georg Brandl
7cba5fd267
Fix minor typo.
2013-09-25 09:04:23 +02:00
Raymond Hettinger
710a67edfc
Note that LINEAR_PROBES can be set to zero.
2013-09-21 20:17:31 -07:00
Raymond Hettinger
4ef0528b97
Minor beautification. Put updates and declarations in a more logical order.
2013-09-21 15:39:49 -07:00
Raymond Hettinger
0ce1953bf7
When LINEAR_PROBES=0, let the compiler remove the dead code on its own.
2013-09-21 14:07:18 -07:00
Raymond Hettinger
c70a2b7bb9
Make the linear probe sequence clearer.
2013-09-21 14:02:55 -07:00
Tim Peters
df099f5df6
Update internal comments to say _something_ about the "API ID".
...
Best I can tell, the possible values for this aren't documented anywhere.
2013-09-19 21:06:37 -05:00
Raymond Hettinger
8408dc581e
Issue 18771: Make it possible to set the number linear probes at compile-time.
2013-09-15 14:57:15 -07:00
Raymond Hettinger
742d8716ff
Put the defines in the logical section and fix indentation.
2013-09-08 00:25:57 -07:00
Raymond Hettinger
583cd03fd1
Minor code beautification.
2013-09-07 22:06:35 -07:00
Raymond Hettinger
4ea9080da9
Improve code clarity by removing two unattractive macros.
2013-09-07 21:01:29 -07:00
Raymond Hettinger
8f8839e10a
Remove the freelist scheme for setobjects.
...
The setobject freelist was consuming memory but not providing much value.
Even when a freelisted setobject was available, most of the setobject
fields still needed to be initialized and the small table still required
a memset(). This meant that the custom freelisting scheme for sets was
providing almost no incremental benefit over the default Python freelist
scheme used by _PyObject_Malloc() in Objects/obmalloc.c.
2013-09-07 20:26:50 -07:00
Raymond Hettinger
04fd9dd52b
Small rearrangement to bring together the three functions for probing the hash table.
2013-09-07 17:41:01 -07:00
Raymond Hettinger
ae7b00e2d3
Move the overview comment to the top of the file.
2013-09-07 15:05:00 -07:00
Tim Peters
b2372959ab
Nerge 3.3 into default.
...
Issue #18942 : sys._debugmallocstats() output was damaged on Windows.
_PyDebugAllocatorStats() called PyOS_snprintf() with a %zd format
code, but MS doesn't support that code. Interpolated
PY_FORMAT_SIZE_T in place of the "z".
2013-09-05 23:04:26 -05:00
Tim Peters
eaa3bcc370
Issue #18942 : sys._debugmallocstats() output was damaged on Windows.
...
_PyDebugAllocatorStats() called PyOS_snprintf() with a %zd format
code, but MS doesn't support that code. Interpolated
PY_FORMAT_SIZE_T in place of the "z".
2013-09-05 22:57:04 -05:00
Raymond Hettinger
c56e0e3980
Minor touchups.
2013-09-02 16:32:27 -07:00
Raymond Hettinger
69492dab07
Factor-out the common code for setting a KeyError.
2013-09-02 15:59:26 -07:00
Raymond Hettinger
a35adf5b09
Instead of XORed indicies, switch to a hybrid of linear probing and open addressing.
...
Modern processors tend to make consecutive memory accesses cheaper than
random probes into memory.
Small sets can fit into L1 cache, so they get less benefit. But they do
come out ahead because the consecutive probes don't probe the same key
more than once and because the randomization step occurs less frequently
(or not at all).
For the open addressing step, putting the perturb shift before the index
calculation gets the upper bits into play sooner.
2013-09-02 03:23:21 -07:00