diff options
Diffstat (limited to 'dev-python/numpy/files/numpy-1.21.3-unaligned-array.patch')
-rw-r--r-- | dev-python/numpy/files/numpy-1.21.3-unaligned-array.patch | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/dev-python/numpy/files/numpy-1.21.3-unaligned-array.patch b/dev-python/numpy/files/numpy-1.21.3-unaligned-array.patch deleted file mode 100644 index 8d04cc0968dc..000000000000 --- a/dev-python/numpy/files/numpy-1.21.3-unaligned-array.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d9bbd60d0f2896d1b1f865e6035dccb12db4b1a0 Mon Sep 17 00:00:00 2001 -From: Sebastian Berg <sebastian@sipsolutions.net> -Date: Sat, 23 Oct 2021 22:54:21 -0500 -Subject: [PATCH] BUG: Do not use nonzero fastpath on unaligned arrays - -The fast-path does not handle unalgined access, previously only -bools had a fast path (and bools are by definition always aligned -since they are stored in a single byte/char). - -Closes gh-19592 ---- - numpy/core/src/multiarray/item_selection.c | 19 +++++++------------ - 1 file changed, 7 insertions(+), 12 deletions(-) - -diff --git a/numpy/core/src/multiarray/item_selection.c b/numpy/core/src/multiarray/item_selection.c -index ee66378a938..33d378c2b58 100644 ---- a/numpy/core/src/multiarray/item_selection.c -+++ b/numpy/core/src/multiarray/item_selection.c -@@ -2398,19 +2398,14 @@ PyArray_CountNonzero(PyArrayObject *self) - npy_intp *strideptr, *innersizeptr; - NPY_BEGIN_THREADS_DEF; - -- // Special low-overhead version specific to the boolean/int types - dtype = PyArray_DESCR(self); -- switch(dtype->kind) { -- case 'u': -- case 'i': -- case 'b': -- if (dtype->elsize > 8) { -- break; -- } -- return count_nonzero_int( -- PyArray_NDIM(self), PyArray_BYTES(self), PyArray_DIMS(self), -- PyArray_STRIDES(self), dtype->elsize -- ); -+ /* Special low-overhead version specific to the boolean/int types */ -+ if (PyArray_ISALIGNED(self) && ( -+ PyDataType_ISBOOL(dtype) || PyDataType_ISINTEGER(dtype))) { -+ return count_nonzero_int( -+ PyArray_NDIM(self), PyArray_BYTES(self), PyArray_DIMS(self), -+ PyArray_STRIDES(self), dtype->elsize -+ ); - } - - nonzero = PyArray_DESCR(self)->f->nonzero; |