On Sun, 2012-09-23 at 18:54 +0100, Nathaniel Smith wrote: > On Sat, Sep 22, 2012 at 10:24 PM, Sebastian Berg > <[email protected]> wrote: > > In case you are interested, the second (real odditiy), is caused by > > ISFORTRAN and IS_F_CONTIGUOUS mixup, I have found three occurances where > > I think ISFORTRAN should be replaced by the latter. Check also: > > > > https://github.com/seberg/numpy/commit/4d2713ce8f2107d225fe291f5da6c6a75436647e > > So I guess we have this ISFORTRAN function (also exposed to > Python[1]). It's documented as checking the rather odd condition of an > array being in fortran-order AND having ndim > 1. Sebastian, as part > of polishing up some of our contiguity-handling code, is suggesting > changing this so that ISFORTRAN is true for an array that is (fortran > order && !C order). Off the top of my head I can't think of any > situation where *either* of these predicates is actually useful. (I > can see why you want to check if an array is in fortran order, but not > why it'd be natural to check whether it's in fortran order and also > these other conditions together in one function call.) The problem is, > this makes it hard to know whether Sebastian's change is a good idea. > > Can anyone think of legitimate uses for ISFORTRAN? Or should it just > be deprecated altogether?
Maybe I am missing things, but I think ISFORTRAN is used to decide the order in which a new array is requested when "Anyorder" is used. In some use cases it does not matter, but for example in these cases (where the new array has a different shape then the original) it would change if you just changed ISFORTRAN: a = np.ones(4) # C/F-Contig a.reshape(2,2, order='A') np.add.outer(a, a, order='A') These would return Fortran order instead of C if ISFORTRAN did not check dimension > 1 (or equivalently !c-contig). > > -n > > [1] http://docs.scipy.org/doc/numpy/reference/generated/numpy.isfortran.html > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
