summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJan David Mol <mol@astron.nl>2016-06-18 13:50:56 +0200
committerGitHub <noreply@github.com>2016-06-18 13:50:56 +0200
commitde97bb2ccaa4293632fdd28f6370d63a55d5d538 (patch)
treeae81f9ce974a95d568d3e7c1617f9d098f4706a1 /tools
parentd3afd5057ca05ae7d315c68e5009b3ee183860e3 (diff)
downloadpython-numpy-de97bb2ccaa4293632fdd28f6370d63a55d5d538.tar.gz
python-numpy-de97bb2ccaa4293632fdd28f6370d63a55d5d538.tar.bz2
python-numpy-de97bb2ccaa4293632fdd28f6370d63a55d5d538.zip
Avoid NPY_ARRAY_F_CONTIGUOUS for numpy < 1.7
numpy API < 1.7 does not support NPY_ARRAY_F_CONTIGUOUS.or PyArray_IS_F_CONTIGUOUS. Supporting old APIs is useful as users tend to ship modern numpy.i files to compile against possibly older numpy installations.
Diffstat (limited to 'tools')
-rw-r--r--tools/swig/numpy.i7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/swig/numpy.i b/tools/swig/numpy.i
index 67a519e6d..b8fdaeb1f 100644
--- a/tools/swig/numpy.i
+++ b/tools/swig/numpy.i
@@ -81,6 +81,7 @@
%#define array_descr(a) (((PyArrayObject*)a)->descr)
%#define array_flags(a) (((PyArrayObject*)a)->flags)
%#define array_enableflags(a,f) (((PyArrayObject*)a)->flags) = f
+%#define array_is_fortran(a) (PyArray_ISFORTRAN((PyArrayObject*)a))
%#else
%#define is_array(a) ((a) && PyArray_Check(a))
%#define array_type(a) PyArray_TYPE((PyArrayObject*)a)
@@ -93,10 +94,10 @@
%#define array_descr(a) PyArray_DESCR((PyArrayObject*)a)
%#define array_flags(a) PyArray_FLAGS((PyArrayObject*)a)
%#define array_enableflags(a,f) PyArray_ENABLEFLAGS((PyArrayObject*)a,f)
+%#define array_is_fortran(a) (PyArray_IS_F_CONTIGUOUS((PyArrayObject*)a))
%#endif
%#define array_is_contiguous(a) (PyArray_ISCONTIGUOUS((PyArrayObject*)a))
%#define array_is_native(a) (PyArray_ISNOTSWAPPED((PyArrayObject*)a))
-%#define array_is_fortran(a) (PyArray_IS_F_CONTIGUOUS((PyArrayObject*)a))
}
/**********************************************************************/
@@ -295,7 +296,11 @@
Py_INCREF(array_descr(ary));
result = (PyArrayObject*) PyArray_FromArray(ary,
array_descr(ary),
+%#if NPY_API_VERSION < 0x00000007
+ NPY_FORTRANORDER);
+%#else
NPY_ARRAY_F_CONTIGUOUS);
+%#endif
*is_new_object = 1;
}
return result;