summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/src/multiarray/mapping.c30
-rw-r--r--numpy/core/src/umath/ufunc_object.c12
2 files changed, 27 insertions, 15 deletions
diff --git a/numpy/core/src/multiarray/mapping.c b/numpy/core/src/multiarray/mapping.c
index f016cd755..aea41fa86 100644
--- a/numpy/core/src/multiarray/mapping.c
+++ b/numpy/core/src/multiarray/mapping.c
@@ -847,10 +847,12 @@ array_boolean_subscript(PyArrayObject *self,
npy_intp self_stride = innerstrides[0];
npy_intp bmask_stride = innerstrides[1];
npy_intp subloopsize;
+ char *self_data;
+ char *bmask_data;
do {
innersize = *NpyIter_GetInnerLoopSizePtr(iter);
- char *self_data = dataptrs[0];
- char *bmask_data = dataptrs[1];
+ self_data = dataptrs[0];
+ bmask_data = dataptrs[1];
while (innersize > 0) {
/* Skip masked values */
@@ -882,11 +884,14 @@ array_boolean_subscript(PyArrayObject *self,
npy_intp bmask_stride = innerstrides[1];
npy_intp maskna_stride = innerstrides[2];
npy_intp subloopsize;
+ char *self_data;
+ char *bmask_data;
+ char *maskna_data;
do {
innersize = *NpyIter_GetInnerLoopSizePtr(iter);
- char *self_data = dataptrs[0];
- char *bmask_data = dataptrs[1];
- char *maskna_data = dataptrs[2];
+ self_data = dataptrs[0];
+ bmask_data = dataptrs[1];
+ maskna_data = dataptrs[2];
while (innersize > 0) {
/* Skip masked values */
@@ -1098,6 +1103,8 @@ array_ass_boolean_subscript(PyArrayObject *self,
npy_intp self_stride = innerstrides[0];
npy_intp bmask_stride = innerstrides[1];
npy_intp subloopsize;
+ char *self_data;
+ char *bmask_data;
/* Get a dtype transfer function */
NpyIter_GetInnerFixedStrideArray(iter, fixed_strides);
@@ -1114,8 +1121,8 @@ array_ass_boolean_subscript(PyArrayObject *self,
do {
innersize = *NpyIter_GetInnerLoopSizePtr(iter);
- char *self_data = dataptrs[0];
- char *bmask_data = dataptrs[1];
+ self_data = dataptrs[0];
+ bmask_data = dataptrs[1];
while (innersize > 0) {
/* Skip masked values */
@@ -1152,6 +1159,9 @@ array_ass_boolean_subscript(PyArrayObject *self,
npy_intp self_maskna_stride = innerstrides[2];
npy_intp subloopsize;
PyArray_Descr *v_maskna_dtype;
+ char *self_data;
+ char *bmask_data;
+ char *self_maskna_data;
if (PyArray_HASMASKNA(v)) {
v_maskna_dtype = PyArray_MASKNA_DTYPE(v);
@@ -1184,9 +1194,9 @@ array_ass_boolean_subscript(PyArrayObject *self,
do {
innersize = *NpyIter_GetInnerLoopSizePtr(iter);
- char *self_data = dataptrs[0];
- char *bmask_data = dataptrs[1];
- char *self_maskna_data = dataptrs[2];
+ self_data = dataptrs[0];
+ bmask_data = dataptrs[1];
+ self_maskna_data = dataptrs[2];
while (innersize > 0) {
/* Skip masked values */
diff --git a/numpy/core/src/umath/ufunc_object.c b/numpy/core/src/umath/ufunc_object.c
index 8b9210dcb..8c35207a4 100644
--- a/numpy/core/src/umath/ufunc_object.c
+++ b/numpy/core/src/umath/ufunc_object.c
@@ -2627,7 +2627,6 @@ PyUFunc_Reduce(PyUFuncObject *self, PyArrayObject *arr, PyArrayObject *out,
NpyAuxData *maskedinnerloopdata = NULL;
char *ufunc_name = self->name ? self->name : "(unknown)";
- NPY_BEGIN_THREADS_DEF;
/* These parameters come from a TLS global */
int buffersize = 0, errormask = 0;
@@ -2639,6 +2638,8 @@ PyUFunc_Reduce(PyUFuncObject *self, PyArrayObject *arr, PyArrayObject *out,
PyArray_Descr *op_dtypes[2] = {NULL, NULL};
npy_uint32 flags, op_flags[2];
+ NPY_BEGIN_THREADS_DEF;
+
ndim = PyArray_NDIM(arr);
if (PyUFunc_GetPyValues("reduce", &buffersize, &errormask, &errobj) < 0) {
@@ -3155,6 +3156,7 @@ PyUFunc_Accumulate(PyUFuncObject *self, PyArrayObject *arr, PyArrayObject *out,
if (iter && NpyIter_GetIterSize(iter) != 0) {
char *dataptr_copy[3];
npy_intp stride_copy[3];
+ npy_intp count_m1, stride0, stride1;
NpyIter_IterNextFunc *iternext;
char **dataptr;
@@ -3170,8 +3172,8 @@ PyUFunc_Accumulate(PyUFuncObject *self, PyArrayObject *arr, PyArrayObject *out,
/* Execute the loop with just the outer iterator */
- npy_intp count_m1 = PyArray_DIM(op[1], axis)-1;
- npy_intp stride0 = 0, stride1 = PyArray_STRIDE(op[1], axis);
+ count_m1 = PyArray_DIM(op[1], axis)-1;
+ stride0 = 0, stride1 = PyArray_STRIDE(op[1], axis);
NPY_UF_DBG_PRINT("UFunc: Reduce loop with just outer iterator\n");
@@ -3361,14 +3363,14 @@ PyUFunc_Reduceat(PyUFuncObject *self, PyArrayObject *arr, PyArrayObject *ind,
int buffersize = 0, errormask = 0;
PyObject *errobj = NULL;
+ NPY_BEGIN_THREADS_DEF;
+
if (PyArray_HASMASKNA(arr)) {
PyErr_SetString(PyExc_RuntimeError,
"ufunc reduceat doesn't support NA masked arrays yet");
return NULL;
}
- NPY_BEGIN_THREADS_DEF;
-
reduceat_ind = (npy_intp *)PyArray_DATA(ind);
ind_size = PyArray_DIM(ind, 0);
red_axis_size = PyArray_DIM(arr, axis);