cpython/Python
Tim Peters b713ec2531 Bug #1334662 / patch #1335972: int(string, base) wrong answers.
In rare cases of strings specifying true values near sys.maxint,
and oddball bases (not decimal or a power of 2), int(string, base)
could deliver insane answers.  This repairs all such problems, and
also speeds string->int significantly.  On my box, here are %
speedups for decimal strings of various lengths:

length speedup
------ -------
 1       12.4%
 2       15.7%
 3       20.6%
 4       28.1%
 5       33.2%
 6       37.5%
 7       41.9%
 8       46.3%
 9       51.2%
10       19.5%
11       19.9%
12       23.9%
13       23.7%
14       23.3%
15       24.9%
16       25.3%
17       28.3%
18       27.9%
19       35.7%

Note that the difference between 9 and 10 is the difference between
short and long Python ints on a 32-bit box.  The patch doesn't
actually do anything to speed conversion to long:  the speedup is
due to detecting "unsigned long" overflow more quickly.

This is a bugfix candidate, but it's a non-trivial patch and it
would be painful to separate the "bug fix" from the "speed up" parts.
2006-05-23 18:45:30 +00:00
..
Python-ast.c Introduce asdl_int_seq, to hold cmpop_ty. 2006-04-13 12:29:43 +00:00
asdl.c Fix type errors. 2006-04-13 13:08:58 +00:00
ast.c Fix #1474677, non-keyword argument following keyword. 2006-05-19 06:43:50 +00:00
atof.c
bltinmodule.c SF #1479181: split open() and file() from being aliases for each other. 2006-05-02 04:43:14 +00:00
ceval.c Applied patch 1337051 by Neal Norwitz, saving 4 ints on frame objects. 2006-05-23 18:28:17 +00:00
codecs.c Fix a warning on alpha 2006-04-28 05:28:30 +00:00
compile.c Get rid of __context__, per the latest changes to PEP 343 and python-dev 2006-05-02 19:47:52 +00:00
dup2.c
dynload_aix.c Fix SF bug #1072182, problems with signed characters. 2005-12-19 06:05:18 +00:00
dynload_atheos.c Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
dynload_beos.c Fix for 2002-01-23 15:51:12 +00:00
dynload_dl.c
dynload_hpux.c Oops, I forgot to include this file in the last commit (46046): 2006-05-19 07:05:01 +00:00
dynload_next.c Fix for 838140: don't call NSUnlinkModule when we fail to find our 2004-07-15 22:28:48 +00:00
dynload_os2.c
dynload_shlib.c Fix a warning from gcc by adding a missed const qualifier. 2006-01-04 01:30:17 +00:00
dynload_stub.c
dynload_win.c Disable .DLL as an extension for extension modules. 2006-04-04 07:04:07 +00:00
errors.c PyErr_NewException now accepts a tuple of base classes as its 2006-05-23 11:17:21 +00:00
exceptions.c Remove bogus DECREF of self. 2006-05-15 09:22:27 +00:00
fmod.c
frozen.c This is my patch 2002-08-15 14:59:02 +00:00
frozenmain.c Patch #569753: Remove support for WIN16. 2002-06-30 15:26:10 +00:00
future.c more low-hanging fruit to make code compile under a C++ compiler. Not 2006-04-11 12:01:56 +00:00
getargs.c C++ compiler cleanup: cast... 2006-04-18 00:57:15 +00:00
getcompiler.c
getcopyright.c Update general copyright years to 2006. 2006-02-11 15:30:36 +00:00
getcwd.c Define MAXPATHLEN to be at least PATH_MAX, if that's defined. Python uses 2006-04-25 15:29:46 +00:00
getmtime.c spread the extern "C" { } magic pixie dust around. Python itself builds now 2006-04-13 02:06:09 +00:00
getopt.c spread the extern "C" { } magic pixie dust around. Python itself builds now 2006-04-13 02:06:09 +00:00
getplatform.c
getversion.c
graminit.c Part two of the fix for SF bug #1466641: Regenerate graminit.c and add test 2006-04-12 00:07:59 +00:00
hypot.c
import.c - Add new Warning class, ImportWarning 2006-04-27 23:13:20 +00:00
importdl.c Patch #794826: Add __file__ in dynamically loaded modules for multiple 2003-09-04 18:45:59 +00:00
importdl.h PEP 302 + zipimport: 2002-12-30 22:08:05 +00:00
mactoolboxglue.c This patches fixes a number of byteorder problems in MacOSX specific code. 2006-04-17 13:40:08 +00:00
marshal.c Change int to Py_ssize_t in several places. 2006-03-07 12:08:51 +00:00
memmove.c
modsupport.c C++ compiler cleanup: migrate to modsupport.h 2006-04-18 00:53:48 +00:00
mysnprintf.c PyOS_vsnprintf(): Change PyMem_Malloc() call to PyMem_MALLOC() macro, 2001-12-21 16:32:15 +00:00
mystrtoul.c Bug #1334662 / patch #1335972: int(string, base) wrong answers. 2006-05-23 18:45:30 +00:00
pyarena.c Fix sys.getobjects(0): we get a reference to the 2006-04-15 12:46:09 +00:00
pyfpe.c
pystate.c Zap ZAP. 2006-04-15 18:14:21 +00:00
pystrtod.c Some more changes to make code compile under a C++ compiler. 2006-04-11 12:14:09 +00:00
pythonrun.c Change those parts of the Python-api that were functions in 2.4, and 2006-04-18 18:51:06 +00:00
sigcheck.c
strdup.c
strerror.c Getting rid of all the code inside #ifdef macintosh too. 2003-11-20 01:44:59 +00:00
strtod.c
structmember.c Fix a warning on ppc (debian) 2006-04-28 05:28:54 +00:00
symtable.c Make symtable.c safe for C++ compilers. Changed macros in the same way as 2006-04-12 04:00:50 +00:00
sysmodule.c C++ compiler cleanup: extern "C" a couple declarations, cast int to size_t 2006-04-18 00:55:46 +00:00
thread.c - Changes donated by Elemental Security to make it work on HP-UX 11 on 2005-09-14 17:49:54 +00:00
thread_atheos.h Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
thread_beos.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_cthread.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_foobar.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_lwp.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_nt.h Patch #1492356: Port to Windows CE (patch set 1). 2006-05-22 09:15:18 +00:00
thread_os2.h make thread stack size compile-time tunable on OS/2 2005-01-17 12:16:36 +00:00
thread_pth.h Patch #805613: Fix usage of the PTH library. 2003-09-20 11:13:36 +00:00
thread_pthread.h Patch #1396919: Reenable the system scope threads on FreeBSD 5.4 2006-03-23 12:32:36 +00:00
thread_sgi.h Remove support for DYNIX, IRIX 4, --with-sgi-dl, --with-dl-dld 2004-01-17 04:04:13 +00:00
thread_solaris.h Patch #716969: Detect thread creation failure. Will backport to 2.2. 2003-04-19 07:44:52 +00:00
thread_wince.h bug 1234979 addition 2005-07-09 15:26:33 +00:00
traceback.c Use Py_VISIT in all tp_traverse methods, instead of traversing manually or 2006-04-15 21:47:09 +00:00