summaryrefslogtreecommitdiffstats
path: root/Objects/longobject.c
Commit message (Collapse)AuthorAgeFilesLines
* Issue #19171: speed some cases of 3-argument long pow().Tim Peters2013-10-051-4/+10
| | | | | | | | 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.
* Issue #18783: Removed existing mentions of Python long type in docstrings,Serhiy Storchaka2013-08-271-50/+50
| | | | error messages and comments.
* Issue #16741: Fix an error reporting in int().Serhiy Storchaka2013-08-031-27/+62
|
* Issue #17173: Remove uses of locale-dependent C functions (isalpha() etc.) ↵Antoine Pitrou2013-02-091-2/+2
|\ | | | | | | | | | | | | | | in the interpreter. I've left a couple of them in: zlib (third-party lib), getaddrinfo.c (doesn't include Python.h, and probably obsolete), _sre.c (legitimate use for the re.LOCALE flag), mpdecimal (needs to build without Python.h).
| * Issue #17173: Remove uses of locale-dependent C functions (isalpha() etc.) ↵Antoine Pitrou2013-02-091-2/+2
| | | | | | | | | | | | | | | | in the interpreter. I've left a couple of them in: zlib (third-party lib), getaddrinfo.c (doesn't include Python.h, and probably obsolete), _sre.c (legitimate use for the re.LOCALE flag).
* | Issue #15989: Fix several occurrences of integer overflowSerhiy Storchaka2013-01-191-0/+18
|\ \ | |/ | | | | | | | | when result of PyLong_AsLong() narrowed to int without checks. This is a backport of changesets 13e2e44db99d and 525407d89277.
| * Issue #15989: Fix several occurrences of integer overflowSerhiy Storchaka2013-01-191-0/+18
| | | | | | | | | | | | when result of PyLong_AsLong() narrowed to int without checks. This is a backport of changesets 13e2e44db99d and 525407d89277.
* | Issue #16761: Raise TypeError when int() called with base argument only.Serhiy Storchaka2012-12-281-2/+8
|\ \ | |/
| * Issue #16761: Raise TypeError when int() called with base argument only.Serhiy Storchaka2012-12-281-2/+8
| |
* | Issue #16277: merge fix from 3.2Mark Dickinson2012-10-181-0/+8
|\ \ | |/
| * Issue #16277: in PyLong_FromVoidPtr, add missing branch for sizeof(void*) <= ↵Mark Dickinson2012-10-181-0/+8
| | | | | | | | sizeof(long).
* | Issue #14783: Merge changes from 3.2.Chris Jerdonek2012-10-071-6/+13
|\ \ | |/
| * Issue #14783: Improve int() docstring and also str(), range(), and slice().Chris Jerdonek2012-10-071-6/+13
| | | | | | | | | | | | This commit rewrites the docstring for int() to incorporate the documentation changes made in issue #16036. It also switches the docstrings for int(), str(), range(), and slice() to use multi-line signatures.
* | Issue #16096: Fix signed overflow in Objects/longobject.c. Thanks Serhiy ↵Mark Dickinson2012-10-061-3/+2
| | | | | | | | Storchaka.
* | Issue 15959: Merge from 3.2.Mark Dickinson2012-09-201-1/+1
|\ \ | |/
| * Issue 15959: Fix type mismatch for quick{_neg}_int_allocs. Thanks Serhiy ↵Mark Dickinson2012-09-201-1/+1
| | | | | | | | Storchaka.
* | Fix out of bounds read in long_new() for empty bytes with an explicit base. ↵Christian Heimes2012-09-121-2/+2
|\ \ | |/ | | | | int(b'', somebase) calls PyLong_FromString() with char* of length 1 but the function accesses the first argument at offset 1. CID 715359
| * Fix out of bounds read in long_new() for empty bytes with an explicit base. ↵Christian Heimes2012-09-121-2/+2
| | | | | | | | int(b'', somebase) calls PyLong_FromString() with char* of length 1 but the function accesses the first argument at offset 1. CID 715359
* | Fixed resource leak to scratch when _PyUnicodeWriter_Prepare failsChristian Heimes2012-09-101-1/+3
| |
* | Issue #14744: Fix compilation on WindowsVictor Stinner2012-05-291-2/+2
| |
* | Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args ↵Victor Stinner2012-05-291-88/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and str.format(args) * Formatting string, int, float and complex use the _PyUnicodeWriter API. It avoids a temporary buffer in most cases. * Add _PyUnicodeWriter_WriteStr() to restore the PyAccu optimization: just keep a reference to the string if the output is only composed of one string * Disable overallocation when formatting the last argument of str%args and str.format(args) * Overallocation allocates at least 100 characters: add min_length attribute to the _PyUnicodeWriter structure * Add new private functions: _PyUnicode_FastCopyCharacters(), _PyUnicode_FastFill() and _PyUnicode_FromASCII() The speed up is around 20% in average.
* | long_to_decimal_string() and _PyLong_Format() check the consistency of newlyVictor Stinner2012-04-251-0/+2
| | | | | | | | created strings using _PyUnicode_CheckConsistency() in debug mode
* | Issue #14630: Merge fix from 3.2.Mark Dickinson2012-04-201-3/+1
|\ \ | |/
| * Issue #14630: Fix an incorrect access of ob_digit[0] for a zero instance of ↵Mark Dickinson2012-04-201-3/+1
| | | | | | | | an int subclass.
* | Issue #14339: Improve speed of bin, oct and hex builtins. Patch by Serhiy ↵Mark Dickinson2012-04-201-26/+31
| | | | | | | | Storchaka (with minor modifications).
* | Issue #12965: Fix some inaccurate comments in Objects/longobject.c. Thanks ↵Mark Dickinson2011-10-231-15/+23
| | | | | | | | Stefan Krah.
* | Use the new Py_ARRAY_LENGTH macroVictor Stinner2011-09-281-2/+1
| |
* | Implement PEP 393.Martin v. Löwis2011-09-281-44/+38
| |
* | Merge fix for issue #12963.Stefan Krah2011-09-121-3/+3
|\ \ | |/
| * Issue #12963: PyLong_AsSize_t() now returns (size_t)-1 in all error cases.Stefan Krah2011-09-121-3/+3
| |
* | Issue #12909: Make PyLong_As* functions consistent in their use of exceptions.Nadeem Vawda2011-09-071-2/+10
| | | | | | | | | | | | PyLong_AsDouble() and PyLong_AsUnsignedLongLong() now raise TypeError (rather than SystemError) when passed a non-integer argument, matching the behavior of all the other PyLong_As*() functions.
* | Replace Py_NotImplemented returns with the macro form Py_RETURN_NOTIMPLEMENTED.Brian Curtin2011-08-111-6/+3
|/ | | | The macro was introduced in #12724.
* #11565: Merge with 3.1.Ezio Melotti2011-03-161-1/+1
|\
| * #11565: Fix several typos. Patch by Piotr Kasprzyk.Ezio Melotti2011-03-161-2/+2
| |
* | #11515: Merge with 3.1.Ezio Melotti2011-03-151-1/+1
|\ \ | |/
| * #11515: fix several typos. Patch by Piotr Kasprzyk.Ezio Melotti2011-03-151-1/+1
| |
| * Recorded merge of revisions 81032 via svnmerge fromAntoine Pitrou2010-05-091-3334/+3334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r81032 | antoine.pitrou | 2010-05-09 17:52:27 +0200 (dim., 09 mai 2010) | 9 lines Recorded merge of revisions 81029 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines Untabify C files. Will watch buildbots. ........ ................
| * Issue #8328: Silence Visual Studio warnings.Stefan Krah2010-04-071-2/+2
| |
| * Merged revisions 78918,78920 via svnmerge fromMark Dickinson2010-04-061-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r78918 | mark.dickinson | 2010-03-13 11:34:40 +0000 (Sat, 13 Mar 2010) | 4 lines Issue #8014: Fix PyLong_As<c-integer-type> methods not to produce an internal error on non-integer input: they now raise TypeError instead. This is needed for attributes declared via PyMemberDefs. ........ r78920 | mark.dickinson | 2010-03-13 13:23:05 +0000 (Sat, 13 Mar 2010) | 3 lines Issue #8014: Fix incorrect error checks in structmember.c, and re-enable previously failing test_structmember.py tests. ........
| * Merged revisions 74771 via svnmerge fromMark Dickinson2009-09-131-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r74771 | mark.dickinson | 2009-09-13 13:06:08 +0100 (Sun, 13 Sep 2009) | 10 lines Merged revisions 74769 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r74769 | mark.dickinson | 2009-09-13 12:56:13 +0100 (Sun, 13 Sep 2009) | 3 lines Fix potential signed-overflow bug in _PyLong_Format; also fix a couple of whitespace issues. ........ ................
| * Merged revisions 74691 via svnmerge fromMark Dickinson2009-09-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r74691 | mark.dickinson | 2009-09-06 21:53:58 +0100 (Sun, 06 Sep 2009) | 9 lines Merged revisions 74689 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r74689 | mark.dickinson | 2009-09-06 21:51:37 +0100 (Sun, 06 Sep 2009) | 1 line Remove redundant assignment ........ ................
* | Fix indentation in Objects/longobject.cMark Dickinson2010-12-041-3/+3
| |
* | Issue #10557: Fixed error messages from float() and other numericAlexander Belopolsky2010-12-041-7/+24
| | | | | | | | | | | | types. Added a new API function, PyUnicode_TransformDecimalToASCII(), which transforms non-ASCII decimal digits in a Unicode string to their ASCII equivalents.
* | Include structseq.h in Python.h, and remove now-redundant includes in ↵Georg Brandl2010-11-301-1/+0
| | | | | | | | individual sources.
* | follow up to #9778: define and use an unsigned hash typeBenjamin Peterson2010-10-231-3/+3
| |
* | make hashes always the size of pointers; introduce Py_hash_t #9778Benjamin Peterson2010-10-171-2/+2
| |
* | Fix naming inconsistency.Mark Dickinson2010-06-071-2/+2
| |
* | Issue #2844: Make int('42', n) consistently raise ValueError forMark Dickinson2010-05-261-9/+20
| | | | | | | | invalid integers n (including n = -909).
* | Issue #8817: Expose round-to-nearest variant of divmod in _PyLong_Divmod_NearMark Dickinson2010-05-261-111/+140
| | | | | | | | for use by the datetime module; also refactor long_round to use this function.
* | Issue #8188: Introduce a new scheme for computing hashes of numbersMark Dickinson2010-05-231-10/+29
| | | | | | | | | | | | (instances of int, float, complex, decimal.Decimal and fractions.Fraction) that makes it easy to maintain the invariant that hash(x) == hash(y) whenever x and y have equal value.