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
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
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
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