[Numpy-discussion] Detect if array has been transposed

Eric Firing efiring at hawaii.edu
Sun Oct 12 15:16:45 EDT 2014


On 2014/10/12, 8:29 AM, Pauli Virtanen wrote:
> 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.


or let numpy handle it on the python side:

foo(numpy.ascontiguousarray(a))

>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>




More information about the NumPy-Discussion mailing list