Skip to content

Commit

Permalink
Merge pull request #22259 from ganesh-k13/doc_21506_div_overflow
Browse files Browse the repository at this point in the history
DOC: Better report integer division overflow (#21506)
  • Loading branch information
charris committed Sep 19, 2022
2 parents 91d1c1e + 3a2d009 commit 293dc0e
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions doc/release/upcoming_changes/21506.change.rst
@@ -0,0 +1,18 @@
Better reporting of integer division overflow
---------------------------------------------

Integer division overflow of scalars and arrays used to provide a ``RuntimeWarning``
and the return value was undefined leading to crashes at rare occasions::

>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: divide by zero encountered in floor_divide
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)

Integer division overflow now returns the input dtype's minimum value and raise the
following ``RuntimeWarning``::

>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: overflow encountered in floor_divide
array([-2147483648, -2147483648, -2147483648, -2147483648, -2147483648,
-2147483648, -2147483648, -2147483648, -2147483648, -2147483648],
dtype=int32)

0 comments on commit 293dc0e

Please sign in to comment.