summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2022-09-19 12:57:35 -0500
committerGitHub <noreply@github.com>2022-09-19 12:57:35 -0500
commit293dc0e242be473216fcceec421d7aceba4e285e (patch)
treeab03b6d9623232c0c59c5500ef99aed55e218061
parent91d1c1ebd26d3269c45051d61bf24efb8db0678e (diff)
parent3a2d0093faaeda8ae686cbef9e3a34795e9a0f16 (diff)
downloadnumpy-293dc0e242be473216fcceec421d7aceba4e285e.tar.gz
Merge pull request #22259 from ganesh-k13/doc_21506_div_overflow
DOC: Better report integer division overflow (#21506)
-rw-r--r--doc/release/upcoming_changes/21506.change.rst18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/release/upcoming_changes/21506.change.rst b/doc/release/upcoming_changes/21506.change.rst
new file mode 100644
index 000000000..18bc6cbc2
--- /dev/null
+++ b/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)