diff options
-rw-r--r-- | numpy/core/src/multiarray/calculation.c | 16 | ||||
-rw-r--r-- | numpy/core/src/multiarray/compiled_base.c | 37 | ||||
-rw-r--r-- | numpy/core/src/multiarray/ctors.c | 4 | ||||
-rw-r--r-- | numpy/core/src/multiarray/item_selection.c | 44 | ||||
-rw-r--r-- | numpy/core/src/multiarray/mapping.c | 7 |
5 files changed, 59 insertions, 49 deletions
diff --git a/numpy/core/src/multiarray/calculation.c b/numpy/core/src/multiarray/calculation.c index e24ac2b57..e47dd81b9 100644 --- a/numpy/core/src/multiarray/calculation.c +++ b/numpy/core/src/multiarray/calculation.c @@ -100,10 +100,10 @@ PyArray_ArgMax(PyArrayObject *op, int axis, PyArrayObject *out) } if (!out) { - rp = (PyArrayObject *)PyArray_New(Py_TYPE(ap), PyArray_NDIM(ap)-1, - PyArray_DIMS(ap), NPY_INTP, - NULL, NULL, 0, 0, - (PyObject *)ap); + rp = (PyArrayObject *)PyArray_NewFromDescr( + Py_TYPE(ap), PyArray_DescrFromType(NPY_INTP), + PyArray_NDIM(ap) - 1, PyArray_DIMS(ap), NULL, NULL, + 0, (PyObject *)ap); if (rp == NULL) { goto fail; } @@ -216,10 +216,10 @@ PyArray_ArgMin(PyArrayObject *op, int axis, PyArrayObject *out) } if (!out) { - rp = (PyArrayObject *)PyArray_New(Py_TYPE(ap), PyArray_NDIM(ap)-1, - PyArray_DIMS(ap), NPY_INTP, - NULL, NULL, 0, 0, - (PyObject *)ap); + rp = (PyArrayObject *)PyArray_NewFromDescr( + Py_TYPE(ap), PyArray_DescrFromType(NPY_INTP), + PyArray_NDIM(ap) - 1, PyArray_DIMS(ap), NULL, NULL, + 0, (PyObject *)ap); if (rp == NULL) { goto fail; } diff --git a/numpy/core/src/multiarray/compiled_base.c b/numpy/core/src/multiarray/compiled_base.c index 5ee385c46..25e3dcca3 100644 --- a/numpy/core/src/multiarray/compiled_base.c +++ b/numpy/core/src/multiarray/compiled_base.c @@ -273,9 +273,10 @@ arr_digitize(PyObject *NPY_UNUSED(self), PyObject *args, PyObject *kwds) npy_intp stride = -PyArray_STRIDE(arr_bins, 0); void *data = (void *)(PyArray_BYTES(arr_bins) - stride * (shape - 1)); - arr_tmp = (PyArrayObject *)PyArray_New(&PyArray_Type, 1, &shape, - NPY_DOUBLE, &stride, data, 0, - PyArray_FLAGS(arr_bins), NULL); + arr_tmp = (PyArrayObject *)PyArray_NewFromDescr( + &PyArray_Type, PyArray_DescrFromType(NPY_DOUBLE), + 1, &shape, &stride, data, + PyArray_FLAGS(arr_bins), NULL); if (!arr_tmp) { goto fail; } @@ -1362,11 +1363,11 @@ arr_unravel_index(PyObject *self, PyObject *args, PyObject *kwds) for (i = 0; i < dimensions.len; ++i) { PyArrayObject *view; - view = (PyArrayObject *)PyArray_New(&PyArray_Type, ret_ndim-1, - ret_dims, NPY_INTP, - ret_strides, - PyArray_BYTES(ret_arr) + i*sizeof(npy_intp), - 0, NPY_ARRAY_WRITEABLE, NULL); + view = (PyArrayObject *)PyArray_NewFromDescr( + &PyArray_Type, PyArray_DescrFromType(NPY_INTP), + ret_ndim - 1, ret_dims, ret_strides, + PyArray_BYTES(ret_arr) + i*sizeof(npy_intp), + NPY_ARRAY_WRITEABLE, NULL); if (view == NULL) { goto fail; } @@ -1621,8 +1622,10 @@ pack_bits(PyObject *input, int axis) if (PyArray_NDIM(new) == 0) { char *optr, *iptr; - out = (PyArrayObject *)PyArray_New(Py_TYPE(new), 0, NULL, NPY_UBYTE, - NULL, NULL, 0, 0, NULL); + out = (PyArrayObject *)PyArray_NewFromDescr( + Py_TYPE(new), PyArray_DescrFromType(NPY_UBYTE), + 0, NULL, NULL, NULL, + 0, NULL); if (out == NULL) { goto fail; } @@ -1652,9 +1655,10 @@ pack_bits(PyObject *input, int axis) outdims[axis] = ((outdims[axis] - 1) >> 3) + 1; /* Create output array */ - out = (PyArrayObject *)PyArray_New(Py_TYPE(new), - PyArray_NDIM(new), outdims, NPY_UBYTE, - NULL, NULL, 0, PyArray_ISFORTRAN(new), NULL); + out = (PyArrayObject *)PyArray_NewFromDescr( + Py_TYPE(new), PyArray_DescrFromType(NPY_UBYTE), + PyArray_NDIM(new), outdims, NULL, NULL, + PyArray_ISFORTRAN(new), NULL); if (out == NULL) { goto fail; } @@ -1746,9 +1750,10 @@ unpack_bits(PyObject *input, int axis) outdims[axis] <<= 3; /* Create output array */ - out = (PyArrayObject *)PyArray_New(Py_TYPE(new), - PyArray_NDIM(new), outdims, NPY_UBYTE, - NULL, NULL, 0, PyArray_ISFORTRAN(new), NULL); + out = (PyArrayObject *)PyArray_NewFromDescr( + Py_TYPE(new), PyArray_DescrFromType(NPY_UBYTE), + PyArray_NDIM(new), outdims, NULL, NULL, + PyArray_ISFORTRAN(new), NULL); if (out == NULL) { goto fail; } diff --git a/numpy/core/src/multiarray/ctors.c b/numpy/core/src/multiarray/ctors.c index 5d3cee647..e66506fb0 100644 --- a/numpy/core/src/multiarray/ctors.c +++ b/numpy/core/src/multiarray/ctors.c @@ -1143,8 +1143,8 @@ PyArray_NewFromDescr_int(PyTypeObject *subtype, PyArray_Descr *descr, int nd, * true, dtype will be decrefed. */ NPY_NO_EXPORT PyObject * -PyArray_NewFromDescr(PyTypeObject *subtype, PyArray_Descr *descr, int nd, - npy_intp *dims, npy_intp *strides, void *data, +PyArray_NewFromDescr(PyTypeObject *subtype, PyArray_Descr *descr, + int nd, npy_intp *dims, npy_intp *strides, void *data, int flags, PyObject *obj) { return PyArray_NewFromDescr_int(subtype, descr, nd, diff --git a/numpy/core/src/multiarray/item_selection.c b/numpy/core/src/multiarray/item_selection.c index eb9ef5915..d010b2e75 100644 --- a/numpy/core/src/multiarray/item_selection.c +++ b/numpy/core/src/multiarray/item_selection.c @@ -955,9 +955,10 @@ _new_argsortlike(PyArrayObject *op, int axis, PyArray_ArgSortFunc *argsort, NPY_BEGIN_THREADS_DEF; - rop = (PyArrayObject *)PyArray_New(Py_TYPE(op), PyArray_NDIM(op), - PyArray_DIMS(op), NPY_INTP, - NULL, NULL, 0, 0, (PyObject *)op); + rop = (PyArrayObject *)PyArray_NewFromDescr( + Py_TYPE(op), PyArray_DescrFromType(NPY_INTP), + PyArray_NDIM(op), PyArray_DIMS(op), NULL, NULL, + 0, (PyObject *)op); if (rop == NULL) { return NULL; } @@ -1439,10 +1440,10 @@ PyArray_LexSort(PyObject *sort_keys, int axis) nd = PyArray_NDIM(mps[0]); if ((nd == 0) || (PyArray_SIZE(mps[0]) == 1)) { /* single element case */ - ret = (PyArrayObject *)PyArray_New(&PyArray_Type, PyArray_NDIM(mps[0]), - PyArray_DIMS(mps[0]), - NPY_INTP, - NULL, NULL, 0, 0, NULL); + ret = (PyArrayObject *)PyArray_NewFromDescr( + &PyArray_Type, PyArray_DescrFromType(NPY_INTP), + PyArray_NDIM(mps[0]), PyArray_DIMS(mps[0]), NULL, NULL, + 0, NULL); if (ret == NULL) { goto fail; @@ -1463,9 +1464,10 @@ PyArray_LexSort(PyObject *sort_keys, int axis) } /* Now do the sorting */ - ret = (PyArrayObject *)PyArray_New(&PyArray_Type, PyArray_NDIM(mps[0]), - PyArray_DIMS(mps[0]), NPY_INTP, - NULL, NULL, 0, 0, NULL); + ret = (PyArrayObject *)PyArray_NewFromDescr( + &PyArray_Type, PyArray_DescrFromType(NPY_INTP), + PyArray_NDIM(mps[0]), PyArray_DIMS(mps[0]), NULL, NULL, + 0, NULL); if (ret == NULL) { goto fail; } @@ -1737,9 +1739,10 @@ PyArray_SearchSorted(PyArrayObject *op1, PyObject *op2, } /* ret is a contiguous array of intp type to hold returned indexes */ - ret = (PyArrayObject *)PyArray_New(&PyArray_Type, PyArray_NDIM(ap2), - PyArray_DIMS(ap2), NPY_INTP, - NULL, NULL, 0, 0, (PyObject *)ap2); + ret = (PyArrayObject *)PyArray_NewFromDescr( + &PyArray_Type, PyArray_DescrFromType(NPY_INTP), + PyArray_NDIM(ap2), PyArray_DIMS(ap2), NULL, NULL, + 0, (PyObject *)ap2); if (ret == NULL) { goto fail; } @@ -2207,9 +2210,10 @@ PyArray_Nonzero(PyArrayObject *self) /* Allocate the result as a 2D array */ ret_dims[0] = nonzero_count; ret_dims[1] = (ndim == 0) ? 1 : ndim; - ret = (PyArrayObject *)PyArray_New(&PyArray_Type, 2, ret_dims, - NPY_INTP, NULL, NULL, 0, 0, - NULL); + ret = (PyArrayObject *)PyArray_NewFromDescr( + &PyArray_Type, PyArray_DescrFromType(NPY_INTP), + 2, ret_dims, NULL, NULL, + 0, NULL); if (ret == NULL) { return NULL; } @@ -2361,10 +2365,10 @@ finish: /* the result is an empty array, the view must point to valid memory */ npy_intp data_offset = is_empty ? 0 : i * NPY_SIZEOF_INTP; - PyArrayObject *view = (PyArrayObject *)PyArray_New(Py_TYPE(ret), 1, - &nonzero_count, NPY_INTP, &stride, - PyArray_BYTES(ret) + data_offset, - 0, PyArray_FLAGS(ret), (PyObject *)ret); + PyArrayObject *view = (PyArrayObject *)PyArray_NewFromDescr( + Py_TYPE(ret), PyArray_DescrFromType(NPY_INTP), + 1, &nonzero_count, &stride, PyArray_BYTES(ret) + data_offset, + PyArray_FLAGS(ret), (PyObject *)ret); if (view == NULL) { Py_DECREF(ret); Py_DECREF(ret_tuple); diff --git a/numpy/core/src/multiarray/mapping.c b/numpy/core/src/multiarray/mapping.c index 42dbc3cce..f2782ff27 100644 --- a/numpy/core/src/multiarray/mapping.c +++ b/numpy/core/src/multiarray/mapping.c @@ -2215,9 +2215,10 @@ _nonzero_indices(PyObject *myBool, PyArrayObject **arrays) /* create count-sized index arrays for each dimension */ for (j = 0; j < nd; j++) { - new = (PyArrayObject *)PyArray_New(&PyArray_Type, 1, &count, - NPY_INTP, NULL, NULL, - 0, 0, NULL); + new = (PyArrayObject *)PyArray_NewFromDescr( + &PyArray_Type, PyArray_DescrFromType(NPY_INTP), + 1, &count, NULL, NULL, + 0, NULL); if (new == NULL) { goto fail; } |