Commit Graph

391 Commits

Author SHA1 Message Date
Serhiy Storchaka 00e2843115 Issue #16761: Raise TypeError when int() called with base argument only. 2012-12-28 10:02:42 +02:00
Serhiy Storchaka 0b386d5247 Issue #16761: Raise TypeError when int() called with base argument only. 2012-12-28 09:42:11 +02:00
Benjamin Peterson 513762fe9c use more specific type 2012-12-26 16:43:33 -06:00
Gregory P. Smith a689e524e7 Test for issue16772 and redoes the previous fix to accept __index__-aware
objects as the base by using PyNumber_AsSsize_t similar to round().
2012-12-25 22:38:32 -08:00
Gregory P. Smith 4fbbf8c0a3 Fixes issue #16772: int() constructor second argument (base) must be an int.
Consistent with the behavior in Python 2.
2012-12-25 13:05:31 -08:00
Mark Dickinson e453e4c007 Issue 16280: Drop questionable special-casing of null pointer in PyLong_FromVoidPtr. 2012-10-18 22:18:42 +01:00
Mark Dickinson 5cb65917e1 Issue #16277: merge fix from 3.3 2012-10-18 19:53:45 +01:00
Mark Dickinson 44362a88ad Issue #16277: merge fix from 3.2 2012-10-18 19:53:28 +01:00
Mark Dickinson 91044799f7 Issue #16277: in PyLong_FromVoidPtr, add missing branch for sizeof(void*) <= sizeof(long). 2012-10-18 19:21:43 +01:00
Christian Heimes 743e0cd6b5 Issue #16166: Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
endianess detection and handling.
2012-10-17 23:52:17 +02:00
Chris Jerdonek 4a7df9aba9 Issue #14783: Merge changes from 3.3. 2012-10-07 15:02:16 -07:00
Chris Jerdonek 042fa653ab Issue #14783: Merge changes from 3.2. 2012-10-07 14:56:27 -07:00
Chris Jerdonek 83fe2e1c22 Issue #14783: Improve int() docstring and also str(), range(), and slice().
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.
2012-10-07 14:48:36 -07:00
Mark Dickinson cf46d62fcb Issue #16096: port fix from 3.3 2012-10-06 18:50:19 +01:00
Mark Dickinson fc9adb62fb Issue #16096: Fix signed overflow in Objects/longobject.c. Thanks Serhiy Storchaka. 2012-10-06 18:50:02 +01:00
Victor Stinner 9cc98c93a7 long_to_decimal_string_internal() doesn't need to write the final NULL character 2012-10-04 02:43:02 +02:00
Mark Dickinson 5710c2a3e8 Issue 15959: Merge from 3.2. 2012-09-20 21:30:34 +01:00
Mark Dickinson c286e58044 Issue 15959: Fix type mismatch for quick{_neg}_int_allocs. Thanks Serhiy Storchaka. 2012-09-20 21:29:28 +01:00
Christian Heimes 7ae251a025 Fix out of bounds read in long_new() for empty bytes with an explicit base. int(b'', somebase) calls PyLong_FromString() with char* of length 1 but the function accesses the first argument at offset 1. CID 715359 2012-09-12 15:32:06 +02:00
Christian Heimes 79b97ee2ab Fix out of bounds read in long_new() for empty bytes with an explicit base. int(b'', somebase) calls PyLong_FromString() with char* of length 1 but the function accesses the first argument at offset 1. CID 715359 2012-09-12 15:31:43 +02:00
Christian Heimes 110ac16b9f Fixed resource leak to scratch when _PyUnicodeWriter_Prepare fails 2012-09-10 02:51:27 +02:00
Victor Stinner e577ab38ea Issue #14744: Fix compilation on Windows 2012-05-29 18:51:10 +02:00
Victor Stinner d3f0882dfb Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args 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.
2012-05-29 12:57:52 +02:00
Victor Stinner 3065093bb3 long_to_decimal_string() and _PyLong_Format() check the consistency of newly
created strings using _PyUnicode_CheckConsistency() in debug mode
2012-04-26 00:37:21 +02:00
Mark Dickinson 9a359bd97f Issue #14630: Merge fix from 3.2. 2012-04-20 21:44:09 +01:00
Mark Dickinson bcc17eefd2 Issue #14630: Fix an incorrect access of ob_digit[0] for a zero instance of an int subclass. 2012-04-20 21:42:49 +01:00
Mark Dickinson e28465482c Issue #14339: Improve speed of bin, oct and hex builtins. Patch by Serhiy Storchaka (with minor modifications). 2012-04-20 21:21:24 +01:00
Mark Dickinson 8d48b43ea9 Issue #12965: Fix some inaccurate comments in Objects/longobject.c. Thanks Stefan Krah. 2011-10-23 20:47:14 +01:00
Victor Stinner 639418812f Use the new Py_ARRAY_LENGTH macro 2011-09-29 00:42:28 +02:00
Martin v. Löwis d63a3b8beb Implement PEP 393. 2011-09-28 07:41:54 +02:00
Stefan Krah 2d78a87e2e Merge fix for issue #12963. 2011-09-12 16:24:48 +02:00
Stefan Krah b77c6c65c0 Issue #12963: PyLong_AsSize_t() now returns (size_t)-1 in all error cases. 2011-09-12 16:22:47 +02:00
Nadeem Vawda 3d5881ec2b Issue #12909: Make PyLong_As* functions consistent in their use of exceptions.
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.
2011-09-07 21:40:26 +02:00
Brian Curtin dfc80e3d97 Replace Py_NotImplemented returns with the macro form Py_RETURN_NOTIMPLEMENTED.
The macro was introduced in #12724.
2011-08-10 20:28:54 -05:00
Ezio Melotti 3b3499ba69 #11565: Merge with 3.1. 2011-03-16 11:35:38 +02:00
Ezio Melotti 13925008dc #11565: Fix several typos. Patch by Piotr Kasprzyk. 2011-03-16 11:05:33 +02:00
Ezio Melotti 4969f709cc #11515: Merge with 3.1. 2011-03-15 05:59:46 +02:00
Ezio Melotti 42da663e6f #11515: fix several typos. Patch by Piotr Kasprzyk. 2011-03-15 05:18:48 +02:00
Mark Dickinson c9fb3c6417 Fix indentation in Objects/longobject.c 2010-12-04 11:06:25 +00:00
Alexander Belopolsky 942af5a9a4 Issue #10557: Fixed error messages from float() and other numeric
types.  Added a new API function, PyUnicode_TransformDecimalToASCII(),
which transforms non-ASCII decimal digits in a Unicode string to their
ASCII equivalents.
2010-12-04 03:38:46 +00:00
Georg Brandl 71c23d4473 Include structseq.h in Python.h, and remove now-redundant includes in individual sources. 2010-11-30 09:30:54 +00:00
Benjamin Peterson 8035bc5c04 follow up to #9778: define and use an unsigned hash type 2010-10-23 16:20:50 +00:00
Benjamin Peterson 8f67d0893f make hashes always the size of pointers; introduce Py_hash_t #9778 2010-10-17 20:54:53 +00:00
Mark Dickinson fa68a6188a Fix naming inconsistency. 2010-06-07 18:47:09 +00:00
Mark Dickinson f9a5a8e0af Issue #2844: Make int('42', n) consistently raise ValueError for
invalid integers n (including n = -909).
2010-05-26 20:07:58 +00:00
Mark Dickinson 7f1bf8004d Issue #8817: Expose round-to-nearest variant of divmod in _PyLong_Divmod_Near
for use by the datetime module; also refactor long_round to use this function.
2010-05-26 16:02:59 +00:00
Mark Dickinson dc787d2055 Issue #8188: Introduce a new scheme for computing hashes of numbers
(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.
2010-05-23 13:33:13 +00:00
Mark Dickinson cdd01d2ddb Merged revisions 81037 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81037 | mark.dickinson | 2010-05-09 21:42:09 +0100 (Sun, 09 May 2010) | 1 line

  Wrap multiline macros in a 'do {} while(0)', for safety.
........
2010-05-10 21:37:34 +00:00
Mark Dickinson 22b20183d5 Merged revisions 81036 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81036 | mark.dickinson | 2010-05-09 21:30:29 +0100 (Sun, 09 May 2010) | 1 line

  Post-detabification cleanup:  whitespace fixes and long line rewraps only.
........
2010-05-10 21:27:53 +00:00
Antoine Pitrou 7f14f0d8a0 Recorded merge of revisions 81032 via svnmerge from
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.
  ........
................
2010-05-09 16:14:21 +00:00
Antoine Pitrou f95a1b3c53 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.
........
2010-05-09 15:52:27 +00:00
Mark Dickinson e97ecba241 Merged revisions 80961 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80961 | mark.dickinson | 2010-05-08 09:01:19 +0100 (Sat, 08 May 2010) | 2 lines

  Issue #8659: Remove redundant ABS calls.  Thanks Daniel Stutzbach.
........
2010-05-08 08:03:09 +00:00
Stefan Krah 639e18410e Issue #8328: Silence Visual Studio warnings. 2010-04-07 10:20:34 +00:00
Stefan Krah 0091e5ecd0 Merged revisions 79885 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79885 | stefan.krah | 2010-04-07 10:24:44 +0200 (Wed, 07 Apr 2010) | 1 line

  Issue #8328: Silence Visual Studio warnings.
........
2010-04-07 08:49:55 +00:00
Mark Dickinson 49a519c859 Merged revisions 79856 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79856 | mark.dickinson | 2010-04-06 19:58:54 +0100 (Tue, 06 Apr 2010) | 1 line

  Silence a 'comparison between signed and unsigned integer expressions' gcc warning.
........
2010-04-06 19:02:54 +00:00
Mark Dickinson 3318d29d22 Merged revisions 79843-79844 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79843 | mark.dickinson | 2010-04-06 17:46:09 +0100 (Tue, 06 Apr 2010) | 4 lines

  Issue #8259: Get rid of 'outrageous left shift count' error when
  left-shifting an integer by more than 2**31 on a 64-bit machine.  Also
  convert shift counts to a Py_ssize_t instead of a C long.
........
  r79844 | mark.dickinson | 2010-04-06 17:47:55 +0100 (Tue, 06 Apr 2010) | 1 line

  Misc/NEWS entry for r79843.
........
2010-04-06 16:53:17 +00:00
Mark Dickinson bee1fb0f75 Merged revisions 78918,78920 via svnmerge from
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.
........
2010-04-06 15:44:57 +00:00
Mark Dickinson 431065247a Remove out-of-date comment about making ints and longs hash equal. 2010-03-19 12:38:03 +00:00
Mark Dickinson d59b41641e 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.
2010-03-13 11:34:40 +00:00
Mark Dickinson 078c2532e0 Move docstrings for long.to_bytes and long.from_bytes after the corresponding functions. 2010-01-30 18:06:17 +00:00
Mark Dickinson 93f562c4f9 Merged revisions 77842 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77842 | mark.dickinson | 2010-01-30 10:08:33 +0000 (Sat, 30 Jan 2010) | 4 lines

  Issue #7767: Add new C-API function PyLong_AsLongLongAndOverflow, a
  long long variant of PyLong_AsLongAndOverflow.  Patch by Case Van
  Horsen.
........
2010-01-30 10:30:15 +00:00
Benjamin Peterson 0c0e229dd0 simplify string comparison of from_bytes/to_bytes 2010-01-09 21:50:11 +00:00
Alexandre Vassalotti c36c3789de Issue #1023290: Added API for the conversion of longs to bytes and vice-versa. 2010-01-09 20:35:09 +00:00
Mark Dickinson 6ecd9e53ce Merged revisions 77234 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77234 | mark.dickinson | 2010-01-02 14:45:40 +0000 (Sat, 02 Jan 2010) | 7 lines

  Refactor some longobject internals:  PyLong_AsDouble and _PyLong_AsScaledDouble
  (the latter renamed to _PyLong_Frexp) now use the same core code.  The
  exponent produced by _PyLong_Frexp now has type Py_ssize_t instead of the
  previously used int, and no longer needs scaling by PyLong_SHIFT.  This
  frees the math module from having to know anything about the PyLong
  implementation.  This closes issue #5576.
........
2010-01-02 15:33:56 +00:00
Mark Dickinson cbb62745ac Merged revisions 77062 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77062 | mark.dickinson | 2009-12-27 14:55:57 +0000 (Sun, 27 Dec 2009) | 2 lines

  Issue #1811:  Improve accuracy and consistency of true division for integers.
........
2009-12-27 15:09:50 +00:00
Mark Dickinson 309aa2dcb4 Keep PyLong_AsLongAndOverflow documentation and implementation in sync
between py3k and trunk;  merge new tests from trunk to py3k.
(See issue #7528.)
2009-12-21 12:37:06 +00:00
Mark Dickinson 0b9293f28b Fix error message, for consistency with messages for % and //, and for consistency with trunk 2009-12-07 19:34:59 +00:00
Antoine Pitrou 074e5ed974 Merge in the new GIL. 2009-11-10 19:50:40 +00:00
Mark Dickinson 27a87a2aa2 Merged revisions 75697 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75697 | mark.dickinson | 2009-10-25 20:39:06 +0000 (Sun, 25 Oct 2009) | 3 lines

  Issue #1087418: Small performance boost for bitwise operations on longs.
  Initial patch by Gregory Smith;  some tweaks added.
........
2009-10-25 20:43:34 +00:00
Mark Dickinson 24f5785fea Merged revisions 75110 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75110 | mark.dickinson | 2009-09-28 17:52:40 +0100 (Mon, 28 Sep 2009) | 9 lines

  Style/consistency/nano-optimization nit:  replace occurrences of
    (high_bits << PyLong_SHIFT) + low_bits with
    (high_bits << PyLong_SHIFT) | low_bits
  in Objects/longobject.c.  Motivation:
   - shouldn't unnecessarily mix bit ops with arithmetic ops (style)
   - this pattern should be spelt the same way thoughout (consistency)
   - it's very very very slightly faster: no need to worry about
     carries to the high digit (nano-optimization).
........
2009-09-28 17:54:52 +00:00
Mark Dickinson 1f7e18cd74 Silence compiler warning 2009-09-24 18:31:17 +00:00
Mark Dickinson 741984dc17 Merged revisions 75003 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75003 | mark.dickinson | 2009-09-21 17:16:44 +0100 (Mon, 21 Sep 2009) | 1 line

  Silence MSVC compiler warnings.
........
2009-09-21 16:18:27 +00:00
Mark Dickinson cd06812971 Issue #6713 (continued): remove unused arbitrary-base conversion code
from _PyLong_Format.
2009-09-18 14:53:08 +00:00
Mark Dickinson 8accd6b38e Revert accidental changes to Objects/longobject.c 2009-09-17 19:39:12 +00:00
Mark Dickinson 2e72b0d603 Add some more module maintainers. 2009-09-17 19:37:28 +00:00
Mark Dickinson 2031d13172 Bypass long_repr and _PyLong_Format for str(n), repr(n) 2009-09-17 00:17:48 +00:00
Mark Dickinson 0a1efd0e4c Issue #6713: Improve performance of str(n) and repr(n) for integers n
(up to 3.1 times faster in tests), by special-casing base 10 in
_PyLong_Format.
2009-09-16 21:23:34 +00:00
Mark Dickinson 3ad91d0784 Merged revisions 74771 via svnmerge from
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.
  ........
................
2009-09-13 12:08:21 +00:00
Mark Dickinson 659c7b1bed 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.
........
2009-09-13 12:06:08 +00:00
Mark Dickinson 4cb041ad32 Merged revisions 74691 via svnmerge from
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
  ........
................
2009-09-06 20:54:47 +00:00
Mark Dickinson 7a49a8eb43 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
........
2009-09-06 20:53:58 +00:00
Mark Dickinson 6bf1900e18 Merged revisions 72202 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r72202 | mark.dickinson | 2009-05-02 18:55:01 +0100 (Sat, 02 May 2009) | 3 lines

  Remove unnecessary use of context for long getters.
  (Related to issue #5880).
........
2009-05-02 17:57:52 +00:00
Mark Dickinson 249b898ec7 Typo fix. Thanks Damien Diederen. 2009-04-27 19:41:00 +00:00
Mark Dickinson c630039edd Merged revisions 71772 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r71772 | mark.dickinson | 2009-04-20 22:13:33 +0100 (Mon, 20 Apr 2009) | 5 lines

  Issue #3166: Make long -> float (and int -> float) conversions
  correctly rounded, using round-half-to-even.  This ensures that the
  value of float(n) doesn't depend on whether we're using 15-bit digits
  or 30-bit digits for Python longs.
........
2009-04-20 21:38:00 +00:00
Mark Dickinson 0bdab68475 Rewrap some long lines. 2009-04-02 18:41:40 +00:00
Mark Dickinson 17e4fddb57 Merged revisions 70542 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r70542 | mark.dickinson | 2009-03-23 18:25:13 +0000 (Mon, 23 Mar 2009) | 14 lines

  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:44:57 +00:00
Mark Dickinson bd7926478d Issue #4258: Make it possible to use 30-bit digits for PyLongs:
- new configure option --enable-big-digits
 - new structseq sys.int_info giving information about the internal format
By default, 30-bit digits are enabled on 64-bit machines but
disabled on 32-bit machines.
2009-03-18 20:06:12 +00:00
Mark Dickinson 134708ab14 Merged revisions 69974 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69974 | mark.dickinson | 2009-02-25 20:29:50 +0000 (Wed, 25 Feb 2009) | 3 lines

  Replace long with twodigits, to avoid depending
  on sizeof(digit) < sizeof(long)
........
2009-02-25 20:33:49 +00:00
Mark Dickinson 0d4785bc3b Fix more places in Objects/longobject.c where it's silently assumed that
sizeof(digit) < sizeof(int).
2009-02-15 17:27:41 +00:00
Mark Dickinson e441674a96 A few more type fixes for py3k that were missed in r69635 2009-02-15 15:14:57 +00:00
Mark Dickinson 5a74bf6354 Merged revisions 69634 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69634 | mark.dickinson | 2009-02-15 10:13:41 +0000 (Sun, 15 Feb 2009) | 6 lines

  Issue #5260: Various portability and standards compliance fixes, optimizations
  and cleanups in Objects/longobject.c.  The most significant change is that
  longs now use less memory:  average savings are 2 bytes per long on 32-bit
  systems and 6 bytes per long on 64-bit systems.  (This memory saving already
  exists in py3k.)
........
2009-02-15 11:04:38 +00:00
Mark Dickinson 21776074cc Merged revisions 69498 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69498 | mark.dickinson | 2009-02-10 15:46:50 +0000 (Tue, 10 Feb 2009) | 6 lines

  Issue #5175: PyLong_AsUnsignedLongLong now raises OverflowError for
  negative arguments.  Previously, it raised TypeError.

  Thanks Lisandro Dalcin.
........
2009-02-10 16:13:25 +00:00
Mark Dickinson e94c679df0 Issue #1717: rename tp_compare to tp_reserved. I'll change the
type of tp_compare in a separate commit, for ease of reversion
should things go wrong.
2009-02-02 20:36:42 +00:00
Mark Dickinson 1124e71368 Issue #4707: round(x, n) now returns an integer when x is an integer.
Previously it returned a float.
2009-01-28 21:25:58 +00:00
Mark Dickinson a5cafdf2dd Merged revisions 68974-68975 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68974 | mark.dickinson | 2009-01-26 21:36:30 +0000 (Mon, 26 Jan 2009) | 4 lines

  Fix undefined behaviour (left shift of negative value) in long_hash.  Also,
  rewrap a line of length > 79, and update comments.
........
  r68975 | mark.dickinson | 2009-01-26 21:40:08 +0000 (Mon, 26 Jan 2009) | 2 lines

  Fix comment.
........
2009-01-26 21:56:07 +00:00
Mark Dickinson 1e2d8700d6 Merged revisions 68947 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68947 | mark.dickinson | 2009-01-25 22:12:31 +0000 (Sun, 25 Jan 2009) | 3 lines

  No need for carry to be type twodigits in _PyLong_AsByteArray; digit is large enough.
  This change should silence a compiler warning on Windows.
........
2009-01-25 22:25:06 +00:00
Mark Dickinson 17e5587693 Merged revisions 68890 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68890 | mark.dickinson | 2009-01-24 15:27:44 +0000 (Sat, 24 Jan 2009) | 6 lines

  Issue #4393: fix 3 classes of potential portability problems in longobject.c:
   - fix some places where counters into ob_digit were declared as
     int instead of Py_ssize_t
   - add (twodigit) casts where necessary
   - fix code in _PyLong_AsByteArray that uses << on negative values
........
2009-01-24 15:56:57 +00:00
Mark Dickinson d4624c3331 Some minor cleanups in PyLong_FromLong:
- fast path wasn't being properly taken for negative ints;
   thanks Victor Stinner for pointing this out.
 - use Py_SAFE_DOWNCAST instead of direct casting to digit
   (it's safer, especially if we ever consider moving to 30-bit
   digits)
 - cleaner way to write negation
2009-01-24 15:02:35 +00:00
Mark Dickinson 9ffc0205a6 Issue 4842, patch 2/2: int('3L') should be invalid in Python 3.x. 2009-01-20 20:45:53 +00:00
Mark Dickinson 8055afd019 Issue #4910, patch 3/3: rename nb_long to nb_reserved 2009-01-17 10:04:45 +00:00