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.
........
This commit is contained in:
Mark Dickinson 2009-02-10 16:13:25 +00:00
parent eeba356308
commit 21776074cc
6 changed files with 39 additions and 10 deletions

View file

@ -168,17 +168,26 @@ All integers are implemented as "long" integer objects of arbitrary size.
.. cfunction:: PY_LONG_LONG PyLong_AsLongLong(PyObject *pylong)
Return a C :ctype:`long long` from a Python integer. If *pylong* cannot be
represented as a :ctype:`long long`, an :exc:`OverflowError` will be raised.
.. index::
single: OverflowError (built-in exception)
Return a C :ctype:`long long` from a Python integer. If *pylong*
cannot be represented as a :ctype:`long long`, an
:exc:`OverflowError` is raised and ``-1`` is returned.
.. cfunction:: unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong)
Return a C :ctype:`unsigned long long` from a Python integer. If *pylong*
cannot be represented as an :ctype:`unsigned long long`, an :exc:`OverflowError`
will be raised if the value is positive, or a :exc:`TypeError` will be raised if
the value is negative.
.. index::
single: OverflowError (built-in exception)
Return a C :ctype:`unsigned long long` from a Python integer. If
*pylong* cannot be represented as an :ctype:`unsigned long long`,
an :exc:`OverflowError` is raised and ``(unsigned long long)-1`` is
returned.
.. versionchanged:: 3.1
A negative *pylong* now raises :exc:`OverflowError`, not
:exc:`TypeError`.
.. cfunction:: unsigned long PyLong_AsUnsignedLongMask(PyObject *io)