[ python-Bugs-1003935 ] xrange overflows
SourceForge.net
noreply at sourceforge.net
Thu Aug 5 17:12:44 CEST 2004
Bugs item #1003935, was opened at 2004-08-05 15:16
Message generated for change (Comment added) made by loewis
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1003935&group_id=5470
>Category: Documentation
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Hallvard B Furuseth (hfuru)
Assigned to: Nobody/Anonymous (nobody)
Summary: xrange overflows
Initial Comment:
These restrictions are undocumented both in the
xrange doc string and in the reference manual
(Info node 'XRange Type'):
>>> xrange(maxint, maxint + 10)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OverflowError: long int too large to convert to int
>>> xrange(-100, maxint)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OverflowError: xrange() result has too many items
I hope the overflows below are bugs and not
features. It works if 3/-3 is replaced with 1/-1:
>>> xrange(0, maxint, 3)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OverflowError: integer addition
>>> xrange(0, -maxint, -3)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OverflowError: integer addition
Python installation:
Python 2.3.3 (#1, May 25 2004, 20:22:36)
[GCC 3.2.3] on sunos5
Type "help", "copyright", "credits" or "license"
for more information.
>>> from sys import maxint
>>> "%x" % maxint
'7fffffff'
----------------------------------------------------------------------
>Comment By: Martin v. Löwis (loewis)
Date: 2004-08-05 17:12
Message:
Logged In: YES
user_id=21627
The OverflowErrors are definitely intentional, and by
design. xrange() is documented as working the same way as
range(), so any error in the documentation is an error in
the range() documentation.
Reclassifying this as a documentation bug.
----------------------------------------------------------------------
Comment By: Raymond Hettinger (rhettinger)
Date: 2004-08-05 15:49
Message:
Logged In: YES
user_id=80475
Do you have a real use case for this? Do any real apps need
to loop over more than sys.maxint integers? It would be
ashamed to muckup the high performance implementation for
something that does not arise in practice.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1003935&group_id=5470
More information about the Python-bugs-list
mailing list