[Numpy-discussion] Detect if array has been transposed

Pauli Virtanen pav at iki.fi
Sun Oct 12 14:29:24 EDT 2014


12.10.2014, 20:19, Mads Ipsen kirjoitti:
> Is there any way for me to detect (on the Python side) that transpose() 
> has been invoked on the matrix, and thereby only do the copy operation 
> when it really is needed? 

The correct way to do this is to, either:

In your C code check PyArray_IS_C_CONTIGUOUS(obj) and raise an error if
it is not. In addition, on the Python side, check for
`a.flags.c_contiguous` and make a copy if it is not.

OR

In your C code, get an handle to the array using PyArray_FromANY (or
PyArray_FromOTF) with NPY_ARRAY_C_CONTIGUOUS requirement set so that it
makes a copy when necessary.





More information about the NumPy-Discussion mailing list