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@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion