summaryrefslogtreecommitdiff
path: root/numpy/core/src/arrayobject.c
diff options
context:
space:
mode:
authorTravis Oliphant <oliphant@enthought.com>2006-03-21 05:21:43 +0000
committerTravis Oliphant <oliphant@enthought.com>2006-03-21 05:21:43 +0000
commitcdbcee59fbe407dcfa3a81fc18f95eca4e8ec6c4 (patch)
treeeb824394b6eeb3f6f02cebc63ad17a36828c2dae /numpy/core/src/arrayobject.c
parentcd5f36dc87fd462bc0391a3f7e13036bf1ad3c40 (diff)
downloadnumpy-cdbcee59fbe407dcfa3a81fc18f95eca4e8ec6c4.tar.gz
Fix reshape to always interpret as C-contiguous unless fortran=True is given or fortran=None and array is already fortran array.
Diffstat (limited to 'numpy/core/src/arrayobject.c')
-rw-r--r--numpy/core/src/arrayobject.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/numpy/core/src/arrayobject.c b/numpy/core/src/arrayobject.c
index cf14b350e..306cfeae7 100644
--- a/numpy/core/src/arrayobject.c
+++ b/numpy/core/src/arrayobject.c
@@ -801,10 +801,11 @@ PyArray_FromDims(int nd, int *d, int type)
Copy an array.
*/
static PyObject *
-PyArray_NewCopy(PyArrayObject *m1, int fortran)
+PyArray_NewCopy(PyArrayObject *m1, PyArray_CONDITION fortran)
{
PyArrayObject *ret;
- if (fortran < 0) fortran = PyArray_ISFORTRAN(m1);
+ if (fortran == PyArray_DONTCARE)
+ fortran = PyArray_ISFORTRAN(m1);
Py_INCREF(m1->descr);
ret = (PyArrayObject *)PyArray_NewFromDescr(m1->ob_type,
@@ -4098,7 +4099,8 @@ PyArray_NewFromDescr(PyTypeObject *subtype, PyArray_Descr *descr, int nd,
object.
*/
static PyObject *
-PyArray_Resize(PyArrayObject *self, PyArray_Dims *newshape, int refcheck)
+PyArray_Resize(PyArrayObject *self, PyArray_Dims *newshape, int refcheck,
+ PyArray_CONDITION fortran)
{
intp oldsize, newsize;
int new_nd=newshape->len, k, n, elsize;
@@ -4115,6 +4117,9 @@ PyArray_Resize(PyArrayObject *self, PyArray_Dims *newshape, int refcheck)
return NULL;
}
+ if (fortran == PyArray_DONTCARE)
+ fortran = PyArray_FALSE;
+
newsize = PyArray_MultiplyList(new_dimensions, new_nd);
oldsize = PyArray_SIZE(self);