diff options
| -rw-r--r-- | numpy/core/src/multiarray/item_selection.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/numpy/core/src/multiarray/item_selection.c b/numpy/core/src/multiarray/item_selection.c index 1074eb2bd..a0fd0a574 100644 --- a/numpy/core/src/multiarray/item_selection.c +++ b/numpy/core/src/multiarray/item_selection.c @@ -2649,6 +2649,19 @@ PyArray_Nonzero(PyArrayObject *self) npy_intp * multi_index_end = multi_index + nonzero_count; npy_intp j = 0; + while (multi_index + 4 < multi_index_end) { + *multi_index = j; + multi_index += data[0] != 0; + *multi_index = j + 1; + multi_index += data[stride] != 0; + *multi_index = j + 2; + multi_index += data[stride * 2] != 0; + *multi_index = j + 3; + multi_index += data[stride * 3] != 0; + data += stride * 4; + j += 4; + } + while (multi_index < multi_index_end) { *multi_index = j; multi_index += *data != 0; |
