As I posted to the github issue, I support #2 as it is the original meaning. The most common case of isfortran that I recall was to support transpositions that needed to occur before calling Fortran-compiled linear algebra routines.
However, with that said, you could also reasonably do #1 and likely have no real problem --- because transposing a 1-d array doesn't have any effect. In NumPy 1.0.1, isfortran was intended to be True only for arrays with a.ndim > 1. Thus, it would have been possible for someone to rely on that invariant for some other reason. With relaxed stride checking, this invariant changed because isfortran was implemented by returning True if the F_Contiguous flag was set but the C_Contiguous flag was not (this was only ever previously possible for a.ndim > 1). If you choose to go with #1, please emphasize in the release notes that isfortran now does not assume a.ndim > 1 but is simply short-hand for a.flags.f_contiguous. -Travis On Fri, Oct 30, 2015 at 5:12 PM, Charles R Harris <charlesr.har...@gmail.com > wrote: > Hi All, > > The isfortran function calls a.fnc (Fortran-Not-C), which is implemented > as F_CONTIGUOUS && !C_CONTIGUOUS. Before relaxed stride checking > contiguous multidimensional arrays could not be both and continguous 1-D > arrays were always CONTIGUOUS, but this is not longer the case. > Consequently current isfortran breaks backward compatiblity. There are two > suggested solutions > > 1. Return `a.flags.f_contiguous`. This differs for 1-D arrays, but is > most consistent with the name isfortran. > 2. Return `a.flags.f_contiguous and a.ndim > 1`, which would be > backward compatible. > > It is also possible to start with 2. but add a FutureWarning and later > move to 1, which it my preferred solution. See gh-6590 > <https://github.com/numpy/numpy/issues/6590> for the issue. > > Thoughts? > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion > > -- *Travis Oliphant* *Co-founder and CEO* @teoliphant 512-222-5440 http://www.continuum.io
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion