[magics] 04/07: refresh patches
Alastair McKinstry
mckinstry at moszumanska.debian.org
Wed Jan 3 12:58:14 UTC 2018
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository magics.
commit e1d9d5a2f655fdf0737ac51afb222f03f336a615
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Wed Dec 27 09:58:32 2017 +0000
refresh patches
---
debian/patches/fix-warnings.patch | 6 +-
debian/patches/numpy-fixes.patch | 2491 ----------------------------------
debian/patches/python-type-fix.patch | 10 +-
debian/patches/rm-ksh.patch | 18 +-
debian/patches/series | 4 +-
debian/patches/terralib.patch | 47 +-
debian/patches/unique-ptr.patch | 92 +-
7 files changed, 88 insertions(+), 2580 deletions(-)
diff --git a/debian/patches/fix-warnings.patch b/debian/patches/fix-warnings.patch
index c732d31..93a8166 100644
--- a/debian/patches/fix-warnings.patch
+++ b/debian/patches/fix-warnings.patch
@@ -1,7 +1,7 @@
-Index: magics++-2.33.0/src/magics_config.h.in
+Index: magics++-3.0.0/src/magics_config.h.in
===================================================================
---- magics++-2.33.0.orig/src/magics_config.h.in
-+++ magics++-2.33.0/src/magics_config.h.in
+--- magics++-3.0.0.orig/src/magics_config.h.in
++++ magics++-3.0.0/src/magics_config.h.in
@@ -80,7 +80,9 @@
#cmakedefine MAGICS_COPYRIGHT_PERIOD
diff --git a/debian/patches/numpy-fixes.patch b/debian/patches/numpy-fixes.patch
index ad29e71..bfacbde 100644
--- a/debian/patches/numpy-fixes.patch
+++ b/debian/patches/numpy-fixes.patch
@@ -4,2494 +4,3 @@ Description: Update the numpy.i from a copy in numpy.git to add
Last-Updated: 2016-10-29
Forwarded: no
-Index: magics++-2.33.0/python/numpy.i
-===================================================================
---- magics++-2.33.0.orig/python/numpy.i
-+++ magics++-2.33.0/python/numpy.i
-@@ -1,11 +1,46 @@
- /* -*- C -*- (not really, but good for syntax highlighting) */
-+
-+/*
-+ * Copyright (c) 2005-2015, NumPy Developers.
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions are
-+ * met:
-+ *
-+ * * Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ *
-+ * * Redistributions in binary form must reproduce the above
-+ * copyright notice, this list of conditions and the following
-+ * disclaimer in the documentation and/or other materials provided
-+ * with the distribution.
-+ *
-+ * * Neither the name of the NumPy Developers nor the names of any
-+ * contributors may be used to endorse or promote products derived
-+ * from this software without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
- #ifdef SWIGPYTHON
-
- %{
- #ifndef SWIG_FILE_WITH_INIT
--# define NO_IMPORT_ARRAY
-+#define NO_IMPORT_ARRAY
- #endif
- #include "stdio.h"
-+#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
- #include <numpy/arrayobject.h>
- %}
-
-@@ -13,56 +48,10 @@
-
- %fragment("NumPy_Backward_Compatibility", "header")
- {
--/* Support older NumPy data type names
--*/
--%#if NDARRAY_VERSION < 0x01000000
--%#define NPY_BOOL PyArray_BOOL
--%#define NPY_BYTE PyArray_BYTE
--%#define NPY_UBYTE PyArray_UBYTE
--%#define NPY_SHORT PyArray_SHORT
--%#define NPY_USHORT PyArray_USHORT
--%#define NPY_INT PyArray_INT
--%#define NPY_UINT PyArray_UINT
--%#define NPY_LONG PyArray_LONG
--%#define NPY_ULONG PyArray_ULONG
--%#define NPY_LONGLONG PyArray_LONGLONG
--%#define NPY_ULONGLONG PyArray_ULONGLONG
--%#define NPY_FLOAT PyArray_FLOAT
--%#define NPY_DOUBLE PyArray_DOUBLE
--%#define NPY_LONGDOUBLE PyArray_LONGDOUBLE
--%#define NPY_CFLOAT PyArray_CFLOAT
--%#define NPY_CDOUBLE PyArray_CDOUBLE
--%#define NPY_CLONGDOUBLE PyArray_CLONGDOUBLE
--%#define NPY_OBJECT PyArray_OBJECT
--%#define NPY_STRING PyArray_STRING
--%#define NPY_UNICODE PyArray_UNICODE
--%#define NPY_VOID PyArray_VOID
--%#define NPY_NTYPES PyArray_NTYPES
--%#define NPY_NOTYPE PyArray_NOTYPE
--%#define NPY_CHAR PyArray_CHAR
--%#define NPY_USERDEF PyArray_USERDEF
--%#define npy_intp intp
--
--%#define NPY_MAX_BYTE MAX_BYTE
--%#define NPY_MIN_BYTE MIN_BYTE
--%#define NPY_MAX_UBYTE MAX_UBYTE
--%#define NPY_MAX_SHORT MAX_SHORT
--%#define NPY_MIN_SHORT MIN_SHORT
--%#define NPY_MAX_USHORT MAX_USHORT
--%#define NPY_MAX_INT MAX_INT
--%#define NPY_MIN_INT MIN_INT
--%#define NPY_MAX_UINT MAX_UINT
--%#define NPY_MAX_LONG MAX_LONG
--%#define NPY_MIN_LONG MIN_LONG
--%#define NPY_MAX_ULONG MAX_ULONG
--%#define NPY_MAX_LONGLONG MAX_LONGLONG
--%#define NPY_MIN_LONGLONG MIN_LONGLONG
--%#define NPY_MAX_ULONGLONG MAX_ULONGLONG
--%#define NPY_MAX_INTP MAX_INTP
--%#define NPY_MIN_INTP MIN_INTP
--
--%#define NPY_FARRAY FARRAY
--%#define NPY_F_CONTIGUOUS F_CONTIGUOUS
-+%#if NPY_API_VERSION < 0x00000007
-+%#define NPY_ARRAY_DEFAULT NPY_DEFAULT
-+%#define NPY_ARRAY_FARRAY NPY_FARRAY
-+%#define NPY_FORTRANORDER NPY_FORTRAN
- %#endif
- }
-
-@@ -80,24 +69,45 @@
- {
- /* Macros to extract array attributes.
- */
--%#define is_array(a) ((a) && PyArray_Check((PyArrayObject *)a))
--%#define array_type(a) (int)(PyArray_TYPE(a))
--%#define array_numdims(a) (((PyArrayObject *)a)->nd)
--%#define array_dimensions(a) (((PyArrayObject *)a)->dimensions)
--%#define array_size(a,i) (((PyArrayObject *)a)->dimensions[i])
--%#define array_data(a) (((PyArrayObject *)a)->data)
--%#define array_is_contiguous(a) (PyArray_ISCONTIGUOUS(a))
--%#define array_is_native(a) (PyArray_ISNOTSWAPPED(a))
--%#define array_is_fortran(a) (PyArray_ISFORTRAN(a))
-+%#if NPY_API_VERSION < 0x00000007
-+%#define is_array(a) ((a) && PyArray_Check((PyArrayObject*)a))
-+%#define array_type(a) (int)(PyArray_TYPE((PyArrayObject*)a))
-+%#define array_numdims(a) (((PyArrayObject*)a)->nd)
-+%#define array_dimensions(a) (((PyArrayObject*)a)->dimensions)
-+%#define array_size(a,i) (((PyArrayObject*)a)->dimensions[i])
-+%#define array_strides(a) (((PyArrayObject*)a)->strides)
-+%#define array_stride(a,i) (((PyArrayObject*)a)->strides[i])
-+%#define array_data(a) (((PyArrayObject*)a)->data)
-+%#define array_descr(a) (((PyArrayObject*)a)->descr)
-+%#define array_flags(a) (((PyArrayObject*)a)->flags)
-+%#define array_enableflags(a,f) (((PyArrayObject*)a)->flags) = f
-+%#else
-+%#define is_array(a) ((a) && PyArray_Check(a))
-+%#define array_type(a) PyArray_TYPE((PyArrayObject*)a)
-+%#define array_numdims(a) PyArray_NDIM((PyArrayObject*)a)
-+%#define array_dimensions(a) PyArray_DIMS((PyArrayObject*)a)
-+%#define array_strides(a) PyArray_STRIDES((PyArrayObject*)a)
-+%#define array_stride(a,i) PyArray_STRIDE((PyArrayObject*)a,i)
-+%#define array_size(a,i) PyArray_DIM((PyArrayObject*)a,i)
-+%#define array_data(a) PyArray_DATA((PyArrayObject*)a)
-+%#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)
-+%#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))
- }
-
- /**********************************************************************/
-
--%fragment("NumPy_Utilities", "header")
-+%fragment("NumPy_Utilities",
-+ "header")
- {
- /* Given a PyObject, return a string describing its type.
- */
-- const char* pytype_string(PyObject* py_obj) {
-+ const char* pytype_string(PyObject* py_obj)
-+ {
- if (py_obj == NULL ) return "C NULL value";
- if (py_obj == Py_None ) return "Python None" ;
- if (PyCallable_Check(py_obj)) return "callable" ;
-@@ -107,10 +117,11 @@
- if (PyDict_Check( py_obj)) return "dict" ;
- if (PyList_Check( py_obj)) return "list" ;
- if (PyTuple_Check( py_obj)) return "tuple" ;
-+%#if PY_MAJOR_VERSION < 3
- if (PyFile_Check( py_obj)) return "file" ;
- if (PyModule_Check( py_obj)) return "module" ;
- if (PyInstance_Check(py_obj)) return "instance" ;
--
-+%#endif
- return "unknown type";
- }
-
-@@ -149,7 +160,8 @@
- * legal. If not, set the python error string appropriately and
- * return NULL.
- */
-- PyArrayObject* obj_to_array_no_conversion(PyObject* input, int typecode)
-+ PyArrayObject* obj_to_array_no_conversion(PyObject* input,
-+ int typecode)
- {
- PyArrayObject* ary = NULL;
- if (is_array(input) && (typecode == NPY_NOTYPE ||
-@@ -168,11 +180,12 @@
- }
- else
- {
-- const char * desired_type = typecode_string(typecode);
-- const char * actual_type = pytype_string(input);
-+ const char* desired_type = typecode_string(typecode);
-+ const char* actual_type = pytype_string(input);
- PyErr_Format(PyExc_TypeError,
- "Array of type '%s' required. A '%s' was given",
-- desired_type, actual_type);
-+ desired_type,
-+ actual_type);
- ary = NULL;
- }
- return ary;
-@@ -183,11 +196,12 @@
- * correct type. On failure, the python error string will be set and
- * the routine returns NULL.
- */
-- PyArrayObject* obj_to_array_allow_conversion(PyObject* input, int typecode,
-- int* is_new_object)
-+ PyArrayObject* obj_to_array_allow_conversion(PyObject* input,
-+ int typecode,
-+ int* is_new_object)
- {
- PyArrayObject* ary = NULL;
-- PyObject* py_obj;
-+ PyObject* py_obj;
- if (is_array(input) && (typecode == NPY_NOTYPE ||
- PyArray_EquivTypenums(array_type(input),typecode)))
- {
-@@ -196,7 +210,7 @@
- }
- else
- {
-- py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_DEFAULT);
-+ py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_ARRAY_DEFAULT);
- /* If NULL, PyArray_FromObject will have set python error value.*/
- ary = (PyArrayObject*) py_obj;
- *is_new_object = 1;
-@@ -209,8 +223,10 @@
- * not contiguous, create a new PyArrayObject using the original data,
- * flag it as a new object and return the pointer.
- */
-- PyArrayObject* make_contiguous(PyArrayObject* ary, int* is_new_object,
-- int min_dims, int max_dims)
-+ PyArrayObject* make_contiguous(PyArrayObject* ary,
-+ int* is_new_object,
-+ int min_dims,
-+ int max_dims)
- {
- PyArrayObject* result;
- if (array_is_contiguous(ary))
-@@ -221,9 +237,9 @@
- else
- {
- result = (PyArrayObject*) PyArray_ContiguousFromObject((PyObject*)ary,
-- array_type(ary),
-- min_dims,
-- max_dims);
-+ array_type(ary),
-+ min_dims,
-+ max_dims);
- *is_new_object = 1;
- }
- return result;
-@@ -235,8 +251,8 @@
- * PyArrayObject using the original data, flag it as a new object
- * and return the pointer.
- */
-- PyArrayObject* make_fortran(PyArrayObject* ary, int* is_new_object,
-- int min_dims, int max_dims)
-+ PyArrayObject* make_fortran(PyArrayObject* ary,
-+ int* is_new_object)
- {
- PyArrayObject* result;
- if (array_is_fortran(ary))
-@@ -246,8 +262,10 @@
- }
- else
- {
-- Py_INCREF(ary->descr);
-- result = (PyArrayObject*) PyArray_FromArray(ary, ary->descr, NPY_FORTRAN);
-+ Py_INCREF(array_descr(ary));
-+ result = (PyArrayObject*) PyArray_FromArray(ary,
-+ array_descr(ary),
-+ NPY_ARRAY_F_CONTIGUOUS);
- *is_new_object = 1;
- }
- return result;
-@@ -259,13 +277,14 @@
- * will be set.
- */
- PyArrayObject* obj_to_array_contiguous_allow_conversion(PyObject* input,
-- int typecode,
-- int* is_new_object)
-+ int typecode,
-+ int* is_new_object)
- {
- int is_new1 = 0;
- int is_new2 = 0;
- PyArrayObject* ary2;
-- PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode,
-+ PyArrayObject* ary1 = obj_to_array_allow_conversion(input,
-+ typecode,
- &is_new1);
- if (ary1)
- {
-@@ -286,17 +305,18 @@
- * will be set.
- */
- PyArrayObject* obj_to_array_fortran_allow_conversion(PyObject* input,
-- int typecode,
-- int* is_new_object)
-+ int typecode,
-+ int* is_new_object)
- {
- int is_new1 = 0;
- int is_new2 = 0;
- PyArrayObject* ary2;
-- PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode,
-+ PyArrayObject* ary1 = obj_to_array_allow_conversion(input,
-+ typecode,
- &is_new1);
- if (ary1)
- {
-- ary2 = make_fortran(ary1, &is_new2, 0, 0);
-+ ary2 = make_fortran(ary1, &is_new2);
- if (is_new1 && is_new2)
- {
- Py_DECREF(ary1);
-@@ -306,13 +326,12 @@
- *is_new_object = is_new1 || is_new2;
- return ary1;
- }
--
- } /* end fragment */
-
--
- /**********************************************************************/
-
--%fragment("NumPy_Array_Requirements", "header",
-+%fragment("NumPy_Array_Requirements",
-+ "header",
- fragment="NumPy_Backward_Compatibility",
- fragment="NumPy_Macros")
- {
-@@ -332,6 +351,22 @@
- return contiguous;
- }
-
-+ /* Test whether a python object is (C_ or F_) contiguous. If array is
-+ * contiguous, return 1. Otherwise, set the python error string and
-+ * return 0.
-+ */
-+ int require_c_or_f_contiguous(PyArrayObject* ary)
-+ {
-+ int contiguous = 1;
-+ if (!(array_is_contiguous(ary) || array_is_fortran(ary)))
-+ {
-+ PyErr_SetString(PyExc_TypeError,
-+ "Array must be contiguous (C_ or F_). A non-contiguous array was given");
-+ contiguous = 0;
-+ }
-+ return contiguous;
-+ }
-+
- /* Require that a numpy array is not byte-swapped. If the array is
- * not byte-swapped, return 1. Otherwise, set the python error string
- * and return 0.
-@@ -353,14 +388,16 @@
- * dimensions. If the array has the specified number of dimensions,
- * return 1. Otherwise, set the python error string and return 0.
- */
-- int require_dimensions(PyArrayObject* ary, int exact_dimensions)
-+ int require_dimensions(PyArrayObject* ary,
-+ int exact_dimensions)
- {
- int success = 1;
- if (array_numdims(ary) != exact_dimensions)
- {
- PyErr_Format(PyExc_TypeError,
- "Array must have %d dimensions. Given array has %d dimensions",
-- exact_dimensions, array_numdims(ary));
-+ exact_dimensions,
-+ array_numdims(ary));
- success = 0;
- }
- return success;
-@@ -371,7 +408,9 @@
- * of dimensions, return 1. Otherwise, set the python error string
- * and return 0.
- */
-- int require_dimensions_n(PyArrayObject* ary, int* exact_dimensions, int n)
-+ int require_dimensions_n(PyArrayObject* ary,
-+ int* exact_dimensions,
-+ int n)
- {
- int success = 0;
- int i;
-@@ -395,7 +434,8 @@
- strcat(dims_str,s);
- PyErr_Format(PyExc_TypeError,
- "Array must have %s dimensions. Given array has %d dimensions",
-- dims_str, array_numdims(ary));
-+ dims_str,
-+ array_numdims(ary));
- }
- return success;
- }
-@@ -404,7 +444,9 @@
- * array has the specified shape, return 1. Otherwise, set the python
- * error string and return 0.
- */
-- int require_size(PyArrayObject* ary, npy_intp* size, int n)
-+ int require_size(PyArrayObject* ary,
-+ npy_intp* size,
-+ int n)
- {
- int i;
- int success = 1;
-@@ -444,104 +486,152 @@
- actual_dims[len-1] = ']';
- PyErr_Format(PyExc_TypeError,
- "Array must have shape of %s. Given array has shape of %s",
-- desired_dims, actual_dims);
-+ desired_dims,
-+ actual_dims);
- }
- return success;
- }
-
-- /* Require the given PyArrayObject to to be FORTRAN ordered. If the
-- * the PyArrayObject is already FORTRAN ordered, do nothing. Else,
-- * set the FORTRAN ordering flag and recompute the strides.
-+ /* Require the given PyArrayObject to to be Fortran ordered. If the
-+ * the PyArrayObject is already Fortran ordered, do nothing. Else,
-+ * set the Fortran ordering flag and recompute the strides.
- */
- int require_fortran(PyArrayObject* ary)
- {
- int success = 1;
- int nd = array_numdims(ary);
- int i;
-+ npy_intp * strides = array_strides(ary);
- if (array_is_fortran(ary)) return success;
-- /* Set the FORTRAN ordered flag */
-- ary->flags = NPY_FARRAY;
-+ /* Set the Fortran ordered flag */
-+ array_enableflags(ary,NPY_ARRAY_FARRAY);
- /* Recompute the strides */
-- ary->strides[0] = ary->strides[nd-1];
-+ strides[0] = strides[nd-1];
- for (i=1; i < nd; ++i)
-- ary->strides[i] = ary->strides[i-1] * array_size(ary,i-1);
-+ strides[i] = strides[i-1] * array_size(ary,i-1);
- return success;
- }
- }
-
- /* Combine all NumPy fragments into one for convenience */
--%fragment("NumPy_Fragments", "header",
-+%fragment("NumPy_Fragments",
-+ "header",
- fragment="NumPy_Backward_Compatibility",
- fragment="NumPy_Macros",
- fragment="NumPy_Utilities",
- fragment="NumPy_Object_to_Array",
-- fragment="NumPy_Array_Requirements") { }
-+ fragment="NumPy_Array_Requirements")
-+{
-+}
-
- /* End John Hunter translation (with modifications by Bill Spotz)
- */
-
- /* %numpy_typemaps() macro
- *
-- * This macro defines a family of 41 typemaps that allow C arguments
-+ * This macro defines a family of 75 typemaps that allow C arguments
- * of the form
- *
-- * (DATA_TYPE IN_ARRAY1[ANY])
-- * (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
-- * (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
-- *
-- * (DATA_TYPE IN_ARRAY2[ANY][ANY])
-- * (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
-- * (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
-- *
-- * (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
-- * (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
-- * (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
-- *
-- * (DATA_TYPE INPLACE_ARRAY1[ANY])
-- * (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
-- * (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
-- *
-- * (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
-- * (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
-- * (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
-- *
-- * (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
-- * (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
-- * (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-- * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
-- *
-- * (DATA_TYPE ARGOUT_ARRAY1[ANY])
-- * (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
-- * (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
-- *
-- * (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
-- *
-- * (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
-- *
-- * (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
-- * (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
-- *
-- * (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-- * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
-- * (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-- * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
-- *
-- * (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-- * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
-- * (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-- * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
-+ * 1. (DATA_TYPE IN_ARRAY1[ANY])
-+ * 2. (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1)
-+ * 3. (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1)
-+ *
-+ * 4. (DATA_TYPE IN_ARRAY2[ANY][ANY])
-+ * 5. (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-+ * 6. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2)
-+ * 7. (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-+ * 8. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2)
-+ *
-+ * 9. (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY])
-+ * 10. (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ * 11. (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ * 12. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3)
-+ * 13. (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ * 14. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3)
-+ *
-+ * 15. (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
-+ * 16. (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ * 17. (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ * 18. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, , DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
-+ * 19. (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ * 20. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
-+ *
-+ * 21. (DATA_TYPE INPLACE_ARRAY1[ANY])
-+ * 22. (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1)
-+ * 23. (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1)
-+ *
-+ * 24. (DATA_TYPE INPLACE_ARRAY2[ANY][ANY])
-+ * 25. (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-+ * 26. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2)
-+ * 27. (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2)
-+ * 28. (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2)
-+ *
-+ * 29. (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY])
-+ * 30. (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ * 31. (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ * 32. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3)
-+ * 33. (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ * 34. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3)
-+ *
-+ * 35. (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
-+ * 36. (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ * 37. (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ * 38. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4)
-+ * 39. (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ * 40. (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4)
-+ *
-+ * 41. (DATA_TYPE ARGOUT_ARRAY1[ANY])
-+ * 42. (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
-+ * 43. (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
-+ *
-+ * 44. (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
-+ *
-+ * 45. (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
-+ *
-+ * 46. (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
-+ *
-+ * 47. (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
-+ * 48. (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
-+ *
-+ * 49. (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+ * 50. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
-+ * 51. (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+ * 52. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
-+ *
-+ * 53. (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-+ * 54. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
-+ * 55. (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-+ * 56. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
-+ *
-+ * 57. (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ * 58. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_ARRAY4)
-+ * 59. (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ * 60. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_FARRAY4)
-+ *
-+ * 61. (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1)
-+ * 62. (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEWM_ARRAY1)
-+ *
-+ * 63. (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+ * 64. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_ARRAY2)
-+ * 65. (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+ * 66. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_FARRAY2)
-+ *
-+ * 67. (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-+ * 68. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_ARRAY3)
-+ * 69. (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-+ * 70. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_FARRAY3)
-+ *
-+ * 71. (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ * 72. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4)
-+ * 73. (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ * 74. (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4)
-+ *
-+ * 75. (DATA_TYPE* INPLACE_ARRAY_FLAT, DIM_TYPE DIM_FLAT)
- *
- * where "DATA_TYPE" is any type supported by the NumPy module, and
- * "DIM_TYPE" is any int-like type suitable for specifying dimensions.
- * The difference between "ARRAY" typemaps and "FARRAY" typemaps is
-- * that the "FARRAY" typemaps expect FORTRAN ordering of
-+ * that the "FARRAY" typemaps expect Fortran ordering of
- * multidimensional arrays. In python, the dimensions will not need
- * to be specified (except for the "DATA_TYPE* ARGOUT_ARRAY1"
- * typemaps). The IN_ARRAYs can be a numpy array or any sequence that
-@@ -601,7 +691,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[1] = { $1_dim0 };
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_contiguous_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 1) ||
- !require_size(array, size, 1)) SWIG_fail;
-@@ -628,7 +719,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[1] = { -1 };
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_contiguous_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 1) ||
- !require_size(array, size, 1)) SWIG_fail;
-@@ -656,7 +748,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[1] = {-1};
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_contiguous_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 1) ||
- !require_size(array, size, 1)) SWIG_fail;
-@@ -684,7 +777,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[2] = { $1_dim0, $1_dim1 };
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_contiguous_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 2) ||
- !require_size(array, size, 2)) SWIG_fail;
-@@ -740,7 +834,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[2] = { -1, -1 };
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_contiguous_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 2) ||
- !require_size(array, size, 2)) SWIG_fail;
-@@ -769,7 +864,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[2] = { -1, -1 };
-- array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_fortran_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 2) ||
- !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
-@@ -798,7 +894,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[2] = { -1, -1 };
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_fortran_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 2) ||
- !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail;
-@@ -827,7 +924,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 };
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_contiguous_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 3) ||
- !require_size(array, size, 3)) SWIG_fail;
-@@ -871,6 +969,88 @@
- { Py_DECREF(array$argnum); }
- }
-
-+/* Typemap suite for (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+{
-+ /* for now, only concerned with lists */
-+ $1 = PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL, int* is_new_object_array=NULL)
-+{
-+ npy_intp size[2] = { -1, -1 };
-+ PyArrayObject* temp_array;
-+ Py_ssize_t i;
-+ int is_new_object;
-+
-+ /* length of the list */
-+ $2 = PyList_Size($input);
-+
-+ /* the arrays */
-+ array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
-+ object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
-+ is_new_object_array = (int *)calloc($2,sizeof(int));
-+
-+ if (array == NULL || object_array == NULL || is_new_object_array == NULL)
-+ {
-+ SWIG_fail;
-+ }
-+
-+ for (i=0; i<$2; i++)
-+ {
-+ temp_array = obj_to_array_contiguous_allow_conversion(PySequence_GetItem($input,i), DATA_TYPECODE, &is_new_object);
-+
-+ /* the new array must be stored so that it can be destroyed in freearg */
-+ object_array[i] = temp_array;
-+ is_new_object_array[i] = is_new_object;
-+
-+ if (!temp_array || !require_dimensions(temp_array, 2)) SWIG_fail;
-+
-+ /* store the size of the first array in the list, then use that for comparison. */
-+ if (i == 0)
-+ {
-+ size[0] = array_size(temp_array,0);
-+ size[1] = array_size(temp_array,1);
-+ }
-+
-+ if (!require_size(temp_array, size, 2)) SWIG_fail;
-+
-+ array[i] = (DATA_TYPE*) array_data(temp_array);
-+ }
-+
-+ $1 = (DATA_TYPE**) array;
-+ $3 = (DIM_TYPE) size[0];
-+ $4 = (DIM_TYPE) size[1];
-+}
-+%typemap(freearg)
-+ (DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+{
-+ Py_ssize_t i;
-+
-+ if (array$argnum!=NULL) free(array$argnum);
-+
-+ /*freeing the individual arrays if needed */
-+ if (object_array$argnum!=NULL)
-+ {
-+ if (is_new_object_array$argnum!=NULL)
-+ {
-+ for (i=0; i<$2; i++)
-+ {
-+ if (object_array$argnum[i] != NULL && is_new_object_array$argnum[i])
-+ { Py_DECREF(object_array$argnum[i]); }
-+ }
-+ free(is_new_object_array$argnum);
-+ }
-+ free(object_array$argnum);
-+ }
-+}
-+
- /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
- * DATA_TYPE* IN_ARRAY3)
- */
-@@ -948,7 +1128,8 @@
- (PyArrayObject* array=NULL, int is_new_object=0)
- {
- npy_intp size[3] = { -1, -1, -1 };
-- array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ array = obj_to_array_fortran_allow_conversion($input,
-+ DATA_TYPECODE,
- &is_new_object);
- if (!array || !require_dimensions(array, 3) ||
- !require_size(array, size, 3) || !require_fortran(array)) SWIG_fail;
-@@ -964,6 +1145,245 @@
- { Py_DECREF(array$argnum); }
- }
-
-+/* Typemap suite for (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
-+{
-+ $1 = is_array($input) || PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
-+ (PyArrayObject* array=NULL, int is_new_object=0)
-+{
-+ npy_intp size[4] = { $1_dim0, $1_dim1, $1_dim2 , $1_dim3};
-+ array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ &is_new_object);
-+ if (!array || !require_dimensions(array, 4) ||
-+ !require_size(array, size, 4)) SWIG_fail;
-+ $1 = ($1_ltype) array_data(array);
-+}
-+%typemap(freearg)
-+ (DATA_TYPE IN_ARRAY4[ANY][ANY][ANY][ANY])
-+{
-+ if (is_new_object$argnum && array$argnum)
-+ { Py_DECREF(array$argnum); }
-+}
-+
-+/* Typemap suite for (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ $1 = is_array($input) || PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ (PyArrayObject* array=NULL, int is_new_object=0)
-+{
-+ npy_intp size[4] = { -1, -1, -1, -1 };
-+ array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ &is_new_object);
-+ if (!array || !require_dimensions(array, 4) ||
-+ !require_size(array, size, 4)) SWIG_fail;
-+ $1 = (DATA_TYPE*) array_data(array);
-+ $2 = (DIM_TYPE) array_size(array,0);
-+ $3 = (DIM_TYPE) array_size(array,1);
-+ $4 = (DIM_TYPE) array_size(array,2);
-+ $5 = (DIM_TYPE) array_size(array,3);
-+}
-+%typemap(freearg)
-+ (DATA_TYPE* IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ if (is_new_object$argnum && array$argnum)
-+ { Py_DECREF(array$argnum); }
-+}
-+
-+/* Typemap suite for (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ /* for now, only concerned with lists */
-+ $1 = PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL, int* is_new_object_array=NULL)
-+{
-+ npy_intp size[3] = { -1, -1, -1 };
-+ PyArrayObject* temp_array;
-+ Py_ssize_t i;
-+ int is_new_object;
-+
-+ /* length of the list */
-+ $2 = PyList_Size($input);
-+
-+ /* the arrays */
-+ array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
-+ object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
-+ is_new_object_array = (int *)calloc($2,sizeof(int));
-+
-+ if (array == NULL || object_array == NULL || is_new_object_array == NULL)
-+ {
-+ SWIG_fail;
-+ }
-+
-+ for (i=0; i<$2; i++)
-+ {
-+ temp_array = obj_to_array_contiguous_allow_conversion(PySequence_GetItem($input,i), DATA_TYPECODE, &is_new_object);
-+
-+ /* the new array must be stored so that it can be destroyed in freearg */
-+ object_array[i] = temp_array;
-+ is_new_object_array[i] = is_new_object;
-+
-+ if (!temp_array || !require_dimensions(temp_array, 3)) SWIG_fail;
-+
-+ /* store the size of the first array in the list, then use that for comparison. */
-+ if (i == 0)
-+ {
-+ size[0] = array_size(temp_array,0);
-+ size[1] = array_size(temp_array,1);
-+ size[2] = array_size(temp_array,2);
-+ }
-+
-+ if (!require_size(temp_array, size, 3)) SWIG_fail;
-+
-+ array[i] = (DATA_TYPE*) array_data(temp_array);
-+ }
-+
-+ $1 = (DATA_TYPE**) array;
-+ $3 = (DIM_TYPE) size[0];
-+ $4 = (DIM_TYPE) size[1];
-+ $5 = (DIM_TYPE) size[2];
-+}
-+%typemap(freearg)
-+ (DATA_TYPE** IN_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ Py_ssize_t i;
-+
-+ if (array$argnum!=NULL) free(array$argnum);
-+
-+ /*freeing the individual arrays if needed */
-+ if (object_array$argnum!=NULL)
-+ {
-+ if (is_new_object_array$argnum!=NULL)
-+ {
-+ for (i=0; i<$2; i++)
-+ {
-+ if (object_array$argnum[i] != NULL && is_new_object_array$argnum[i])
-+ { Py_DECREF(object_array$argnum[i]); }
-+ }
-+ free(is_new_object_array$argnum);
-+ }
-+ free(object_array$argnum);
-+ }
-+}
-+
-+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4,
-+ * DATA_TYPE* IN_ARRAY4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
-+{
-+ $1 = is_array($input) || PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
-+ (PyArrayObject* array=NULL, int is_new_object=0)
-+{
-+ npy_intp size[4] = { -1, -1, -1 , -1};
-+ array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE,
-+ &is_new_object);
-+ if (!array || !require_dimensions(array, 4) ||
-+ !require_size(array, size, 4)) SWIG_fail;
-+ $1 = (DIM_TYPE) array_size(array,0);
-+ $2 = (DIM_TYPE) array_size(array,1);
-+ $3 = (DIM_TYPE) array_size(array,2);
-+ $4 = (DIM_TYPE) array_size(array,3);
-+ $5 = (DATA_TYPE*) array_data(array);
-+}
-+%typemap(freearg)
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_ARRAY4)
-+{
-+ if (is_new_object$argnum && array$argnum)
-+ { Py_DECREF(array$argnum); }
-+}
-+
-+/* Typemap suite for (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ $1 = is_array($input) || PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ (PyArrayObject* array=NULL, int is_new_object=0)
-+{
-+ npy_intp size[4] = { -1, -1, -1, -1 };
-+ array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE,
-+ &is_new_object);
-+ if (!array || !require_dimensions(array, 4) ||
-+ !require_size(array, size, 4) | !require_fortran(array)) SWIG_fail;
-+ $1 = (DATA_TYPE*) array_data(array);
-+ $2 = (DIM_TYPE) array_size(array,0);
-+ $3 = (DIM_TYPE) array_size(array,1);
-+ $4 = (DIM_TYPE) array_size(array,2);
-+ $5 = (DIM_TYPE) array_size(array,3);
-+}
-+%typemap(freearg)
-+ (DATA_TYPE* IN_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ if (is_new_object$argnum && array$argnum)
-+ { Py_DECREF(array$argnum); }
-+}
-+
-+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4,
-+ * DATA_TYPE* IN_FARRAY4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
-+{
-+ $1 = is_array($input) || PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
-+ (PyArrayObject* array=NULL, int is_new_object=0)
-+{
-+ npy_intp size[4] = { -1, -1, -1 , -1 };
-+ array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE,
-+ &is_new_object);
-+ if (!array || !require_dimensions(array, 4) ||
-+ !require_size(array, size, 4) || !require_fortran(array)) SWIG_fail;
-+ $1 = (DIM_TYPE) array_size(array,0);
-+ $2 = (DIM_TYPE) array_size(array,1);
-+ $3 = (DIM_TYPE) array_size(array,2);
-+ $4 = (DIM_TYPE) array_size(array,3);
-+ $5 = (DATA_TYPE*) array_data(array);
-+}
-+%typemap(freearg)
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* IN_FARRAY4)
-+{
-+ if (is_new_object$argnum && array$argnum)
-+ { Py_DECREF(array$argnum); }
-+}
-+
- /***************************/
- /* In-Place Array Typemaps */
- /***************************/
-@@ -1187,6 +1607,72 @@
- $4 = (DIM_TYPE) array_size(array,2);
- }
-
-+/* Typemap suite for (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+{
-+ $1 = PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+ (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL)
-+{
-+ npy_intp size[2] = { -1, -1 };
-+ PyArrayObject* temp_array;
-+ Py_ssize_t i;
-+
-+ /* length of the list */
-+ $2 = PyList_Size($input);
-+
-+ /* the arrays */
-+ array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
-+ object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
-+
-+ if (array == NULL || object_array == NULL)
-+ {
-+ SWIG_fail;
-+ }
-+
-+ for (i=0; i<$2; i++)
-+ {
-+ temp_array = obj_to_array_no_conversion(PySequence_GetItem($input,i), DATA_TYPECODE);
-+
-+ /* the new array must be stored so that it can be destroyed in freearg */
-+ object_array[i] = temp_array;
-+
-+ if ( !temp_array || !require_dimensions(temp_array, 2) ||
-+ !require_contiguous(temp_array) ||
-+ !require_native(temp_array) ||
-+ !PyArray_EquivTypenums(array_type(temp_array), DATA_TYPECODE)
-+ ) SWIG_fail;
-+
-+ /* store the size of the first array in the list, then use that for comparison. */
-+ if (i == 0)
-+ {
-+ size[0] = array_size(temp_array,0);
-+ size[1] = array_size(temp_array,1);
-+ }
-+
-+ if (!require_size(temp_array, size, 2)) SWIG_fail;
-+
-+ array[i] = (DATA_TYPE*) array_data(temp_array);
-+ }
-+
-+ $1 = (DATA_TYPE**) array;
-+ $3 = (DIM_TYPE) size[0];
-+ $4 = (DIM_TYPE) size[1];
-+}
-+%typemap(freearg)
-+ (DATA_TYPE** INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3)
-+{
-+ if (array$argnum!=NULL) free(array$argnum);
-+ if (object_array$argnum!=NULL) free(object_array$argnum);
-+}
-+
- /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
- * DATA_TYPE* INPLACE_ARRAY3)
- */
-@@ -1259,6 +1745,195 @@
- $4 = (DATA_TYPE*) array_data(array);
- }
-
-+/* Typemap suite for (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
-+{
-+ $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+ DATA_TYPECODE);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE INPLACE_ARRAY4[ANY][ANY][ANY][ANY])
-+ (PyArrayObject* array=NULL)
-+{
-+ npy_intp size[4] = { $1_dim0, $1_dim1, $1_dim2 , $1_dim3 };
-+ array = obj_to_array_no_conversion($input, DATA_TYPECODE);
-+ if (!array || !require_dimensions(array,4) || !require_size(array, size, 4) ||
-+ !require_contiguous(array) || !require_native(array)) SWIG_fail;
-+ $1 = ($1_ltype) array_data(array);
-+}
-+
-+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+ DATA_TYPECODE);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE* INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ (PyArrayObject* array=NULL)
-+{
-+ array = obj_to_array_no_conversion($input, DATA_TYPECODE);
-+ if (!array || !require_dimensions(array,4) || !require_contiguous(array) ||
-+ !require_native(array)) SWIG_fail;
-+ $1 = (DATA_TYPE*) array_data(array);
-+ $2 = (DIM_TYPE) array_size(array,0);
-+ $3 = (DIM_TYPE) array_size(array,1);
-+ $4 = (DIM_TYPE) array_size(array,2);
-+ $5 = (DIM_TYPE) array_size(array,3);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ $1 = PySequence_Check($input);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ (DATA_TYPE** array=NULL, PyArrayObject** object_array=NULL)
-+{
-+ npy_intp size[3] = { -1, -1, -1 };
-+ PyArrayObject* temp_array;
-+ Py_ssize_t i;
-+
-+ /* length of the list */
-+ $2 = PyList_Size($input);
-+
-+ /* the arrays */
-+ array = (DATA_TYPE **)malloc($2*sizeof(DATA_TYPE *));
-+ object_array = (PyArrayObject **)calloc($2,sizeof(PyArrayObject *));
-+
-+ if (array == NULL || object_array == NULL)
-+ {
-+ SWIG_fail;
-+ }
-+
-+ for (i=0; i<$2; i++)
-+ {
-+ temp_array = obj_to_array_no_conversion(PySequence_GetItem($input,i), DATA_TYPECODE);
-+
-+ /* the new array must be stored so that it can be destroyed in freearg */
-+ object_array[i] = temp_array;
-+
-+ if ( !temp_array || !require_dimensions(temp_array, 3) ||
-+ !require_contiguous(temp_array) ||
-+ !require_native(temp_array) ||
-+ !PyArray_EquivTypenums(array_type(temp_array), DATA_TYPECODE)
-+ ) SWIG_fail;
-+
-+ /* store the size of the first array in the list, then use that for comparison. */
-+ if (i == 0)
-+ {
-+ size[0] = array_size(temp_array,0);
-+ size[1] = array_size(temp_array,1);
-+ size[2] = array_size(temp_array,2);
-+ }
-+
-+ if (!require_size(temp_array, size, 3)) SWIG_fail;
-+
-+ array[i] = (DATA_TYPE*) array_data(temp_array);
-+ }
-+
-+ $1 = (DATA_TYPE**) array;
-+ $3 = (DIM_TYPE) size[0];
-+ $4 = (DIM_TYPE) size[1];
-+ $5 = (DIM_TYPE) size[2];
-+}
-+%typemap(freearg)
-+ (DATA_TYPE** INPLACE_ARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ if (array$argnum!=NULL) free(array$argnum);
-+ if (object_array$argnum!=NULL) free(object_array$argnum);
-+}
-+
-+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4,
-+ * DATA_TYPE* INPLACE_ARRAY4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4)
-+{
-+ $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+ DATA_TYPECODE);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_ARRAY4)
-+ (PyArrayObject* array=NULL)
-+{
-+ array = obj_to_array_no_conversion($input, DATA_TYPECODE);
-+ if (!array || !require_dimensions(array,4) || !require_contiguous(array)
-+ || !require_native(array)) SWIG_fail;
-+ $1 = (DIM_TYPE) array_size(array,0);
-+ $2 = (DIM_TYPE) array_size(array,1);
-+ $3 = (DIM_TYPE) array_size(array,2);
-+ $4 = (DIM_TYPE) array_size(array,3);
-+ $5 = (DATA_TYPE*) array_data(array);
-+}
-+
-+/* Typemap suite for (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2,
-+ * DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+{
-+ $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+ DATA_TYPECODE);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE* INPLACE_FARRAY4, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4)
-+ (PyArrayObject* array=NULL)
-+{
-+ array = obj_to_array_no_conversion($input, DATA_TYPECODE);
-+ if (!array || !require_dimensions(array,4) || !require_contiguous(array) ||
-+ !require_native(array) || !require_fortran(array)) SWIG_fail;
-+ $1 = (DATA_TYPE*) array_data(array);
-+ $2 = (DIM_TYPE) array_size(array,0);
-+ $3 = (DIM_TYPE) array_size(array,1);
-+ $4 = (DIM_TYPE) array_size(array,2);
-+ $5 = (DIM_TYPE) array_size(array,3);
-+}
-+
-+/* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3,
-+ * DATA_TYPE* INPLACE_FARRAY4)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4)
-+{
-+ $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+ DATA_TYPECODE);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DIM_TYPE DIM4, DATA_TYPE* INPLACE_FARRAY4)
-+ (PyArrayObject* array=NULL)
-+{
-+ array = obj_to_array_no_conversion($input, DATA_TYPECODE);
-+ if (!array || !require_dimensions(array,4) || !require_contiguous(array)
-+ || !require_native(array) || !require_fortran(array)) SWIG_fail;
-+ $1 = (DIM_TYPE) array_size(array,0);
-+ $2 = (DIM_TYPE) array_size(array,1);
-+ $3 = (DIM_TYPE) array_size(array,2);
-+ $4 = (DIM_TYPE) array_size(array,3);
-+ $5 = (DATA_TYPE*) array_data(array);
-+}
-+
- /*************************/
- /* Argout Array Typemaps */
- /*************************/
-@@ -1268,7 +1943,7 @@
- %typemap(in,numinputs=0,
- fragment="NumPy_Backward_Compatibility,NumPy_Macros")
- (DATA_TYPE ARGOUT_ARRAY1[ANY])
-- (PyObject * array = NULL)
-+ (PyObject* array = NULL)
- {
- npy_intp dims[1] = { $1_dim0 };
- array = PyArray_SimpleNew(1, dims, DATA_TYPECODE);
-@@ -1278,7 +1953,7 @@
- %typemap(argout)
- (DATA_TYPE ARGOUT_ARRAY1[ANY])
- {
-- $result = SWIG_Python_AppendOutput($result,array$argnum);
-+ $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
- }
-
- /* Typemap suite for (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
-@@ -1286,7 +1961,7 @@
- %typemap(in,numinputs=1,
- fragment="NumPy_Fragments")
- (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
-- (PyObject * array = NULL)
-+ (PyObject* array = NULL)
- {
- npy_intp dims[1];
- if (!PyInt_Check($input))
-@@ -1306,7 +1981,7 @@
- %typemap(argout)
- (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1)
- {
-- $result = SWIG_Python_AppendOutput($result,array$argnum);
-+ $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
- }
-
- /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
-@@ -1314,7 +1989,7 @@
- %typemap(in,numinputs=1,
- fragment="NumPy_Fragments")
- (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
-- (PyObject * array = NULL)
-+ (PyObject* array = NULL)
- {
- npy_intp dims[1];
- if (!PyInt_Check($input))
-@@ -1334,7 +2009,7 @@
- %typemap(argout)
- (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1)
- {
-- $result = SWIG_Python_AppendOutput($result,array$argnum);
-+ $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
- }
-
- /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
-@@ -1342,7 +2017,7 @@
- %typemap(in,numinputs=0,
- fragment="NumPy_Backward_Compatibility,NumPy_Macros")
- (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
-- (PyObject * array = NULL)
-+ (PyObject* array = NULL)
- {
- npy_intp dims[2] = { $1_dim0, $1_dim1 };
- array = PyArray_SimpleNew(2, dims, DATA_TYPECODE);
-@@ -1352,7 +2027,7 @@
- %typemap(argout)
- (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY])
- {
-- $result = SWIG_Python_AppendOutput($result,array$argnum);
-+ $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
- }
-
- /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
-@@ -1360,7 +2035,7 @@
- %typemap(in,numinputs=0,
- fragment="NumPy_Backward_Compatibility,NumPy_Macros")
- (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
-- (PyObject * array = NULL)
-+ (PyObject* array = NULL)
- {
- npy_intp dims[3] = { $1_dim0, $1_dim1, $1_dim2 };
- array = PyArray_SimpleNew(3, dims, DATA_TYPECODE);
-@@ -1370,7 +2045,25 @@
- %typemap(argout)
- (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY])
- {
-- $result = SWIG_Python_AppendOutput($result,array$argnum);
-+ $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
-+}
-+
-+/* Typemap suite for (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
-+ */
-+%typemap(in,numinputs=0,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Macros")
-+ (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
-+ (PyObject* array = NULL)
-+{
-+ npy_intp dims[4] = { $1_dim0, $1_dim1, $1_dim2, $1_dim3 };
-+ array = PyArray_SimpleNew(4, dims, DATA_TYPECODE);
-+ if (!array) SWIG_fail;
-+ $1 = ($1_ltype) array_data(array);
-+}
-+%typemap(argout)
-+ (DATA_TYPE ARGOUT_ARRAY4[ANY][ANY][ANY][ANY])
-+{
-+ $result = SWIG_Python_AppendOutput($result,(PyObject*)array$argnum);
- }
-
- /*****************************/
-@@ -1381,7 +2074,7 @@
- */
- %typemap(in,numinputs=0)
- (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1 )
-- (DATA_TYPE* data_temp , DIM_TYPE dim_temp)
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim_temp)
- {
- $1 = &data_temp;
- $2 = &dim_temp;
-@@ -1391,16 +2084,18 @@
- (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1)
- {
- npy_intp dims[1] = { *$2 };
-- PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array) SWIG_fail;
-- $result = SWIG_Python_AppendOutput($result,array);
-+ $result = SWIG_Python_AppendOutput($result,obj);
- }
-
- /* Typemap suite for (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
- */
- %typemap(in,numinputs=0)
- (DIM_TYPE* DIM1 , DATA_TYPE** ARGOUTVIEW_ARRAY1)
-- (DIM_TYPE dim_temp, DATA_TYPE* data_temp )
-+ (DIM_TYPE dim_temp, DATA_TYPE* data_temp = NULL )
- {
- $1 = &dim_temp;
- $2 = &data_temp;
-@@ -1410,16 +2105,18 @@
- (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1)
- {
- npy_intp dims[1] = { *$1 };
-- PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2));
-+ PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array) SWIG_fail;
-- $result = SWIG_Python_AppendOutput($result,array);
-+ $result = SWIG_Python_AppendOutput($result,obj);
- }
-
- /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
- */
- %typemap(in,numinputs=0)
- (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 )
-- (DATA_TYPE* data_temp , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp)
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp)
- {
- $1 = &data_temp;
- $2 = &dim1_temp;
-@@ -1430,16 +2127,18 @@
- (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
- {
- npy_intp dims[2] = { *$2, *$3 };
-- PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array) SWIG_fail;
-- $result = SWIG_Python_AppendOutput($result,array);
-+ $result = SWIG_Python_AppendOutput($result,obj);
- }
-
- /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
- */
- %typemap(in,numinputs=0)
- (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_ARRAY2)
-- (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp )
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL )
- {
- $1 = &dim1_temp;
- $2 = &dim2_temp;
-@@ -1450,16 +2149,18 @@
- (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2)
- {
- npy_intp dims[2] = { *$1, *$2 };
-- PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array) SWIG_fail;
-- $result = SWIG_Python_AppendOutput($result,array);
-+ $result = SWIG_Python_AppendOutput($result,obj);
- }
-
- /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
- */
- %typemap(in,numinputs=0)
- (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 )
-- (DATA_TYPE* data_temp , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp)
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp)
- {
- $1 = &data_temp;
- $2 = &dim1_temp;
-@@ -1470,8 +2171,9 @@
- (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
- {
- npy_intp dims[2] = { *$2, *$3 };
-- PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
-- PyArrayObject * array = (PyArrayObject*) obj;
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array || !require_fortran(array)) SWIG_fail;
- $result = SWIG_Python_AppendOutput($result,obj);
- }
-@@ -1480,7 +2182,7 @@
- */
- %typemap(in,numinputs=0)
- (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_FARRAY2)
-- (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp )
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL )
- {
- $1 = &dim1_temp;
- $2 = &dim2_temp;
-@@ -1491,8 +2193,9 @@
- (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2)
- {
- npy_intp dims[2] = { *$1, *$2 };
-- PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
-- PyArrayObject * array = (PyArrayObject*) obj;
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array || !require_fortran(array)) SWIG_fail;
- $result = SWIG_Python_AppendOutput($result,obj);
- }
-@@ -1501,8 +2204,8 @@
- DIM_TYPE* DIM3)
- */
- %typemap(in,numinputs=0)
-- (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-- (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
-+ (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
- {
- $1 = &data_temp;
- $2 = &dim1_temp;
-@@ -1514,9 +2217,11 @@
- (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
- {
- npy_intp dims[3] = { *$2, *$3, *$4 };
-- PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array) SWIG_fail;
-- $result = SWIG_Python_AppendOutput($result,array);
-+ $result = SWIG_Python_AppendOutput($result,obj);
- }
-
- /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
-@@ -1524,7 +2229,7 @@
- */
- %typemap(in,numinputs=0)
- (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
-- (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL)
- {
- $1 = &dim1_temp;
- $2 = &dim2_temp;
-@@ -1536,17 +2241,19 @@
- (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3)
- {
- npy_intp dims[3] = { *$1, *$2, *$3 };
-- PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3));
-+ PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
- if (!array) SWIG_fail;
-- $result = SWIG_Python_AppendOutput($result,array);
-+ $result = SWIG_Python_AppendOutput($result,obj);
- }
-
- /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
- DIM_TYPE* DIM3)
- */
- %typemap(in,numinputs=0)
-- (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-- (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
-+ (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
- {
- $1 = &data_temp;
- $2 = &dim1_temp;
-@@ -1558,9 +2265,10 @@
- (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
- {
- npy_intp dims[3] = { *$2, *$3, *$4 };
-- PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
-- PyArrayObject * array = (PyArrayObject*) obj;
-- if (!array || require_fortran(array)) SWIG_fail;
-+ PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
- $result = SWIG_Python_AppendOutput($result,obj);
- }
-
-@@ -1568,8 +2276,8 @@
- DATA_TYPE** ARGOUTVIEW_FARRAY3)
- */
- %typemap(in,numinputs=0)
-- (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
-- (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DATA_TYPE** ARGOUTVIEW_FARRAY3)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL )
- {
- $1 = &dim1_temp;
- $2 = &dim2_temp;
-@@ -1581,12 +2289,803 @@
- (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3)
- {
- npy_intp dims[3] = { *$1, *$2, *$3 };
-- PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3));
-- PyArrayObject * array = (PyArrayObject*) obj;
-- if (!array || require_fortran(array)) SWIG_fail;
-+ PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+ $5 = &dim4_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility")
-+ (DATA_TYPE** ARGOUTVIEW_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+{
-+ npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
-+ DATA_TYPE** ARGOUTVIEW_ARRAY4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEW_ARRAY4)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &dim4_temp;
-+ $5 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_ARRAY4)
-+{
-+ npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+ $5 = &dim4_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
-+ (DATA_TYPE** ARGOUTVIEW_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+{
-+ npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
-+ DATA_TYPE** ARGOUTVIEW_FARRAY4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEW_FARRAY4)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &dim4_temp;
-+ $5 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEW_FARRAY4)
-+{
-+ npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/*************************************/
-+/* Managed Argoutview Array Typemaps */
-+/*************************************/
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY1, DIM_TYPE* DIM1)
-+{
-+ npy_intp dims[1] = { *$2 };
-+ PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEWM_ARRAY1)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DATA_TYPE** ARGOUTVIEWM_ARRAY1)
-+ (DIM_TYPE dim_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim_temp;
-+ $2 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEWM_ARRAY1)
-+{
-+ npy_intp dims[1] = { *$1 };
-+ PyObject* obj = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+{
-+ npy_intp dims[2] = { *$2, *$3 };
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_ARRAY2)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEWM_ARRAY2)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_ARRAY2)
-+{
-+ npy_intp dims[2] = { *$1, *$2 };
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2)
-+{
-+ npy_intp dims[2] = { *$2, *$3 };
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_FARRAY2)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEWM_FARRAY2)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEWM_FARRAY2)
-+{
-+ npy_intp dims[2] = { *$1, *$2 };
-+ PyObject* obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-+{
-+ npy_intp dims[3] = { *$2, *$3, *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
-+ DATA_TYPE** ARGOUTVIEWM_ARRAY3)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DATA_TYPE** ARGOUTVIEWM_ARRAY3)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_ARRAY3)
-+{
-+ npy_intp dims[3] = { *$1, *$2, *$3 };
-+ PyObject* obj= PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-+{
-+ npy_intp dims[3] = { *$2, *$3, *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3,
-+ DATA_TYPE** ARGOUTVIEWM_FARRAY3)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DATA_TYPE** ARGOUTVIEWM_FARRAY3)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEWM_FARRAY3)
-+{
-+ npy_intp dims[3] = { *$1, *$2, *$3 };
-+ PyObject* obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$4));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+ $5 = &dim4_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+{
-+ npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
-+ DATA_TYPE** ARGOUTVIEWM_ARRAY4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_ARRAY4)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &dim4_temp;
-+ $5 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4)
-+{
-+ npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+ $5 = &dim4_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3)
-+{
-+ npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
- $result = SWIG_Python_AppendOutput($result,obj);
- }
-
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
-+ DATA_TYPE** ARGOUTVIEWM_FARRAY4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_FARRAY4)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &dim4_temp;
-+ $5 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4)
-+{
-+ npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+ $5 = &dim4_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_ARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+{
-+ npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
-+ DATA_TYPE** ARGOUTVIEWM_ARRAY4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_ARRAY4)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &dim4_temp;
-+ $5 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_ARRAY4)
-+{
-+ npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2,
-+ DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 )
-+ (DATA_TYPE* data_temp = NULL , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp)
-+{
-+ $1 = &data_temp;
-+ $2 = &dim1_temp;
-+ $3 = &dim2_temp;
-+ $4 = &dim3_temp;
-+ $5 = &dim4_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DATA_TYPE** ARGOUTVIEWM_FARRAY4, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4)
-+{
-+ npy_intp dims[4] = { *$2, *$3, *$4 , *$5 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$1));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4,
-+ DATA_TYPE** ARGOUTVIEWM_FARRAY4)
-+ */
-+%typemap(in,numinputs=0)
-+ (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DIM_TYPE* DIM3 , DIM_TYPE* DIM4 , DATA_TYPE** ARGOUTVIEWM_FARRAY4)
-+ (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DIM_TYPE dim4_temp, DATA_TYPE* data_temp = NULL )
-+{
-+ $1 = &dim1_temp;
-+ $2 = &dim2_temp;
-+ $3 = &dim3_temp;
-+ $4 = &dim4_temp;
-+ $5 = &data_temp;
-+}
-+%typemap(argout,
-+ fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements,NumPy_Utilities")
-+ (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DIM_TYPE* DIM4, DATA_TYPE** ARGOUTVIEWM_FARRAY4)
-+{
-+ npy_intp dims[4] = { *$1, *$2, *$3 , *$4 };
-+ PyObject* obj = PyArray_SimpleNewFromData(4, dims, DATA_TYPECODE, (void*)(*$5));
-+ PyArrayObject* array = (PyArrayObject*) obj;
-+
-+ if (!array || !require_fortran(array)) SWIG_fail;
-+
-+%#ifdef SWIGPY_USE_CAPSULE
-+ PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME, free_cap);
-+%#else
-+ PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
-+%#endif
-+
-+%#if NPY_API_VERSION < 0x00000007
-+ PyArray_BASE(array) = cap;
-+%#else
-+ PyArray_SetBaseObject(array,cap);
-+%#endif
-+
-+ $result = SWIG_Python_AppendOutput($result,obj);
-+}
-+
-+/**************************************/
-+/* In-Place Array Typemap - flattened */
-+/**************************************/
-+
-+/* Typemap suite for (DATA_TYPE* INPLACE_ARRAY_FLAT, DIM_TYPE DIM_FLAT)
-+ */
-+%typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY,
-+ fragment="NumPy_Macros")
-+ (DATA_TYPE* INPLACE_ARRAY_FLAT, DIM_TYPE DIM_FLAT)
-+{
-+ $1 = is_array($input) && PyArray_EquivTypenums(array_type($input),
-+ DATA_TYPECODE);
-+}
-+%typemap(in,
-+ fragment="NumPy_Fragments")
-+ (DATA_TYPE* INPLACE_ARRAY_FLAT, DIM_TYPE DIM_FLAT)
-+ (PyArrayObject* array=NULL, int i=1)
-+{
-+ array = obj_to_array_no_conversion($input, DATA_TYPECODE);
-+ if (!array || !require_c_or_f_contiguous(array)
-+ || !require_native(array)) SWIG_fail;
-+ $1 = (DATA_TYPE*) array_data(array);
-+ $2 = 1;
-+ for (i=0; i < array_numdims(array); ++i) $2 *= array_size(array,i);
-+}
-+
- %enddef /* %numpy_typemaps() macro */
- /* *************************************************************** */
-
-@@ -1620,15 +3119,13 @@
- * %numpy_typemaps(long double, NPY_LONGDOUBLE, int)
- */
-
--/* ***************************************************************
-- * Swig complains about a syntax error for the following macro
-- * expansions:
-- *
-- * %numpy_typemaps(complex float, NPY_CFLOAT , int)
-- *
-- * %numpy_typemaps(complex double, NPY_CDOUBLE, int)
-- *
-- * %numpy_typemaps(complex long double, NPY_CLONGDOUBLE, int)
-- */
-+#ifdef __cplusplus
-+
-+%include <std_complex.i>
-+
-+%numpy_typemaps(std::complex<float>, NPY_CFLOAT , int)
-+%numpy_typemaps(std::complex<double>, NPY_CDOUBLE, int)
-+
-+#endif
-
- #endif /* SWIGPYTHON */
-Index: magics++-2.33.0/python/Magics.i.in
-===================================================================
---- magics++-2.33.0.orig/python/Magics.i.in
-+++ magics++-2.33.0/python/Magics.i.in
-@@ -22,7 +22,7 @@
- int i = 0;
- $1 = (char **) malloc((size+1)*sizeof(char *));
- $2 = size;
--%#IF PY_MAJOR_VERSION < 3
-+%#if PY_MAJOR_VERSION < 3
- for (i = 0; i < size; i++) {
- PyObject *o = PyList_GetItem($input,i);
- if (PyString_Check(o))
diff --git a/debian/patches/python-type-fix.patch b/debian/patches/python-type-fix.patch
index 03ca762..75390d7 100644
--- a/debian/patches/python-type-fix.patch
+++ b/debian/patches/python-type-fix.patch
@@ -1,8 +1,8 @@
-Index: magics++-2.33.0/tools/xml2mv.py
+Index: magics++-3.0.0/tools/xml2mv.py
===================================================================
---- magics++-2.33.0.orig/tools/xml2mv.py
-+++ magics++-2.33.0/tools/xml2mv.py
-@@ -582,12 +582,12 @@ class ObjectHandler(ContentHandler):
+--- magics++-3.0.0.orig/tools/xml2mv.py
++++ magics++-3.0.0/tools/xml2mv.py
+@@ -581,12 +581,12 @@ class ObjectHandler(ContentHandler):
else:
paramclass = self.classname
self.addParameterToClass(self.param, paramclass)
@@ -11,7 +11,7 @@ Index: magics++-2.33.0/tools/xml2mv.py
metview_type = attrs.get("metview_interface")
if metview_type != None:
- type = metview_type
-- if (self.types.has_key(type)):
+- if (type in self.types):
- f = self.types[type]
+ typ = metview_type
+ if (typ in self.types):
diff --git a/debian/patches/rm-ksh.patch b/debian/patches/rm-ksh.patch
index fac7a08..3c79fe0 100644
--- a/debian/patches/rm-ksh.patch
+++ b/debian/patches/rm-ksh.patch
@@ -3,30 +3,30 @@ Description: Remove ksh, as unsupported in Debian right now
Last-Updated: 2016-11-13
Forwarded: not-needed
-Index: magics++-2.33.0/apps/MagMLInterpretor/magjson-script.in
+Index: magics++-3.0.0/apps/MagMLInterpretor/magjson-script.in
===================================================================
---- magics++-2.33.0.orig/apps/MagMLInterpretor/magjson-script.in
-+++ magics++-2.33.0/apps/MagMLInterpretor/magjson-script.in
+--- magics++-3.0.0.orig/apps/MagMLInterpretor/magjson-script.in
++++ magics++-3.0.0/apps/MagMLInterpretor/magjson-script.in
@@ -1,4 +1,4 @@
-#!/bin/ksh
+#!/bin/sh
#set -x
# Platform dependent variables
-Index: magics++-2.33.0/apps/MagMLInterpretor/magml-script.in
+Index: magics++-3.0.0/apps/MagMLInterpretor/magml-script.in
===================================================================
---- magics++-2.33.0.orig/apps/MagMLInterpretor/magml-script.in
-+++ magics++-2.33.0/apps/MagMLInterpretor/magml-script.in
+--- magics++-3.0.0.orig/apps/MagMLInterpretor/magml-script.in
++++ magics++-3.0.0/apps/MagMLInterpretor/magml-script.in
@@ -1,4 +1,4 @@
-#!/bin/ksh
+#!/bin/sh
#set -x
# Platform dependent variables
-Index: magics++-2.33.0/apps/metgram/metgram-script.in
+Index: magics++-3.0.0/apps/metgram/metgram-script.in
===================================================================
---- magics++-2.33.0.orig/apps/metgram/metgram-script.in
-+++ magics++-2.33.0/apps/metgram/metgram-script.in
+--- magics++-3.0.0.orig/apps/metgram/metgram-script.in
++++ magics++-3.0.0/apps/metgram/metgram-script.in
@@ -1,4 +1,4 @@
-#!/bin/ksh
+#!/bin/sh
diff --git a/debian/patches/series b/debian/patches/series
index 200b05d..2dafafd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,11 +1,11 @@
terralib.patch
-python3.patch
+# python3.patch
soname-version.patch
reproducibility.patch
pkgconfig-fix.patch
cmake-config.patch
unique-ptr.patch
-numpy-fixes.patch
+#numpy-fixes.patch
rm-ksh.patch
fix-warnings.patch
python-type-fix.patch
diff --git a/debian/patches/terralib.patch b/debian/patches/terralib.patch
index 7b5f0ee..a8bbd12 100644
--- a/debian/patches/terralib.patch
+++ b/debian/patches/terralib.patch
@@ -1,58 +1,57 @@
Author: Alastair McKinstry <mckinstry at debian.org>
Description: Add Debians libterralib, rather than built-in version
-Last-Updated: 2016-07-08
+Last-Updated: 2017-12-27
Forwarded: not-needed
-Index: magics++-2.33.0/src/CMakeLists.txt
+Index: magics++-3.0.0/src/CMakeLists.txt
===================================================================
---- magics++-2.33.0.orig/src/CMakeLists.txt
-+++ magics++-2.33.0/src/CMakeLists.txt
+--- magics++-3.0.0.orig/src/CMakeLists.txt
++++ magics++-3.0.0/src/CMakeLists.txt
@@ -92,7 +92,6 @@ add_subdirectory( web )
add_subdirectory( visualisers )
add_subdirectory( drivers )
add_subdirectory( decoders )
-add_subdirectory( terralib )
+ add_subdirectory( clipper )
add_subdirectory( eckit_readers )
- if( metview )
-@@ -118,7 +117,6 @@ ecbuild_add_library( TARGET MagPlus
- ${drivers_srcs}
+@@ -120,7 +119,6 @@ ecbuild_add_library( TARGET MagPlus
${qt_srcs}
${decoders_srcs}
-- ${terralib_srcs}
+ ${clipper_srcs}
+- ${terralib_srcs}
${odb_srcs}
TEMPLATES
${common_templates}
-@@ -152,7 +150,6 @@ ecbuild_add_library( TARGET MagPlusSt
- ${drivers_srcs}
+@@ -155,7 +153,6 @@ ecbuild_add_library( TARGET MagPlusSt
${qt_srcs}
${decoders_srcs}
-- ${terralib_srcs}
+ ${clipper_srcs}
+- ${terralib_srcs}
${odb_srcs}
TEMPLATES
${common_templates}
-@@ -187,8 +184,6 @@ if( metview )
- ${CMAKE_CURRENT_SOURCE_DIR}/visualisers
+@@ -191,7 +188,6 @@ if( metview )
${CMAKE_CURRENT_SOURCE_DIR}/drivers
${CMAKE_CURRENT_SOURCE_DIR}/decoders
-- ${CMAKE_CURRENT_SOURCE_DIR}/terralib
-- ${CMAKE_CURRENT_SOURCE_DIR}/terralib/kernel
+ ${CMAKE_CURRENT_SOURCE_DIR}/clipper
+- ${CMAKE_CURRENT_SOURCE_DIR}/terralib/kernel
${CMAKE_CURRENT_SOURCE_DIR}/libMagWrapper )
-
-@@ -228,16 +223,6 @@ if( metview )
+
+@@ -231,16 +227,6 @@ if( metview )
QtDriverAttributes.h)
endif()
- install( FILES terralib/kernel/TeProjection.h
-- terralib/kernel/TeCoord2D.h
-- terralib/kernel/TeDefines.h
-- terralib/kernel/TePrecision.h
-- terralib/kernel/TeSingleton.h
-- terralib/kernel/TeDatum.h
+- terralib/kernel/TeCoord2D.h
+- terralib/kernel/TeDefines.h
+- terralib/kernel/TePrecision.h
+- terralib/kernel/TeSingleton.h
+- terralib/kernel/TeDatum.h
- terralib/kernel/TeUtils.h
--
--
+-
+-
- DESTINATION ${INSTALL_INCLUDE_DIR})
install( FILES VectorOfPointers.h DESTINATION ${INSTALL_INCLUDE_DIR})
foreach( file ${attributes_include} )
diff --git a/debian/patches/unique-ptr.patch b/debian/patches/unique-ptr.patch
index 7e2f1aa..7dc2f3c 100644
--- a/debian/patches/unique-ptr.patch
+++ b/debian/patches/unique-ptr.patch
@@ -4,10 +4,10 @@ Description: For G++ 6, we move to c++14, auto_ptr is deprecated.
Last-Updated: 2016-11-01
Forwarded: no
-Index: magics++-2.33.0/src/basic/ParameterSettings.cc
+Index: magics++-3.0.0/src/basic/ParameterSettings.cc
===================================================================
---- magics++-2.33.0.orig/src/basic/ParameterSettings.cc
-+++ magics++-2.33.0/src/basic/ParameterSettings.cc
+--- magics++-3.0.0.orig/src/basic/ParameterSettings.cc
++++ magics++-3.0.0/src/basic/ParameterSettings.cc
@@ -51,7 +51,7 @@ void setAttribute(const vector<string>&
}
}
@@ -26,10 +26,10 @@ Index: magics++-2.33.0/src/basic/ParameterSettings.cc
}
}
-Index: magics++-2.33.0/src/basic/ParameterSettings.h
+Index: magics++-3.0.0/src/basic/ParameterSettings.h
===================================================================
---- magics++-2.33.0.orig/src/basic/ParameterSettings.h
-+++ magics++-2.33.0/src/basic/ParameterSettings.h
+--- magics++-3.0.0.orig/src/basic/ParameterSettings.h
++++ magics++-3.0.0/src/basic/ParameterSettings.h
@@ -24,10 +24,10 @@
#include <Colour.h>
@@ -79,10 +79,10 @@ Index: magics++-2.33.0/src/basic/ParameterSettings.h
MagLog::debug() << "Parameter [" << name << "] set to " << val->second << endl;
}
catch (...) {
-Index: magics++-2.33.0/src/decoders/GribDecoder.cc
+Index: magics++-3.0.0/src/decoders/GribDecoder.cc
===================================================================
---- magics++-2.33.0.orig/src/decoders/GribDecoder.cc
-+++ magics++-2.33.0/src/decoders/GribDecoder.cc
+--- magics++-3.0.0.orig/src/decoders/GribDecoder.cc
++++ magics++-3.0.0/src/decoders/GribDecoder.cc
@@ -90,7 +90,7 @@ void GribDecoder::set(const GribLoop& lo
index_ = loop.uniqueId_;
interpolation_method_ = loop.interpolation_method_;
@@ -92,7 +92,7 @@ Index: magics++-2.33.0/src/decoders/GribDecoder.cc
internalIndex_ = index;
}
-@@ -1595,7 +1595,7 @@ void GribDecoder::visit(MetaDataCollecto
+@@ -1592,7 +1592,7 @@ void GribDecoder::visit(MetaDataCollecto
string representation = getString("typeOfGrid");
try
{
@@ -101,10 +101,10 @@ Index: magics++-2.33.0/src/decoders/GribDecoder.cc
interpretor_->scaling(*this, scaling, offset,oriUnits,derivedUnits);
if(scaling==1 && offset == 0)
{
-Index: magics++-2.33.0/src/decoders/TitleTemplate.cc
+Index: magics++-3.0.0/src/decoders/TitleTemplate.cc
===================================================================
---- magics++-2.33.0.orig/src/decoders/TitleTemplate.cc
-+++ magics++-2.33.0/src/decoders/TitleTemplate.cc
+--- magics++-3.0.0.orig/src/decoders/TitleTemplate.cc
++++ magics++-3.0.0/src/decoders/TitleTemplate.cc
@@ -171,7 +171,7 @@ bool TitleTemplate::verify(const GribDec
//#ifdef MAGICS_EXCEPTION
try{
@@ -114,10 +114,10 @@ Index: magics++-2.33.0/src/decoders/TitleTemplate.cc
MagLog::debug() << "Found the MatchCriteria for " << criter->first << "\n";
if (!(*object).verify(data, criter->first, criter->second)) return false;
}
-Index: magics++-2.33.0/src/decoders/TitleTemplate.h
+Index: magics++-3.0.0/src/decoders/TitleTemplate.h
===================================================================
---- magics++-2.33.0.orig/src/decoders/TitleTemplate.h
-+++ magics++-2.33.0/src/decoders/TitleTemplate.h
+--- magics++-3.0.0.orig/src/decoders/TitleTemplate.h
++++ magics++-3.0.0/src/decoders/TitleTemplate.h
@@ -122,7 +122,7 @@ public:
#ifdef MAGICS_EXCEPTION
try
@@ -127,11 +127,11 @@ Index: magics++-2.33.0/src/decoders/TitleTemplate.h
(*object)(*(*entry), lines, data);
}
catch (NoFactoryException& e)
-Index: magics++-2.33.0/src/libMagWrapper/MagPlus.cc
+Index: magics++-3.0.0/src/libMagWrapper/MagPlus.cc
===================================================================
---- magics++-2.33.0.orig/src/libMagWrapper/MagPlus.cc
-+++ magics++-2.33.0/src/libMagWrapper/MagPlus.cc
-@@ -558,7 +558,7 @@ bool MagPlus::cartesianGrid(magics::MagR
+--- magics++-3.0.0.orig/src/libMagWrapper/MagPlus.cc
++++ magics++-3.0.0/src/libMagWrapper/MagPlus.cc
+@@ -591,7 +591,7 @@ bool MagPlus::cartesianGrid(magics::MagR
haxis->icon("Horizontal Axis", "MAXIS");
haxis->label_type_ = xtype;
@@ -140,7 +140,7 @@ Index: magics++-2.33.0/src/libMagWrapper/MagPlus.cc
top()->push_back(haxis);
}
-@@ -594,7 +594,7 @@ bool MagPlus::cartesianGrid(magics::MagR
+@@ -627,7 +627,7 @@ bool MagPlus::cartesianGrid(magics::MagR
VerticalAxis* vaxis = new VerticalAxis();
vaxis->icon("Vertical Axis", "MAXIS");
vaxis->label_type_ = ytype;
@@ -149,7 +149,7 @@ Index: magics++-2.33.0/src/libMagWrapper/MagPlus.cc
top()->push_back(vaxis);
}
-@@ -1402,7 +1402,7 @@ bool MagPlus::symbol(magics::MagRequest&
+@@ -1439,7 +1439,7 @@ bool MagPlus::symbol(magics::MagRequest&
FortranAutomaticLegendVisitor* node = new FortranAutomaticLegendVisitor();
LegendMethod* method = new ContinuousLegendMethod();
@@ -158,10 +158,10 @@ Index: magics++-2.33.0/src/libMagWrapper/MagPlus.cc
node->getReady();
//top()->legend(node);
if ( geographical_ ) {
-Index: magics++-2.33.0/src/magics.h
+Index: magics++-3.0.0/src/magics.h
===================================================================
---- magics++-2.33.0.orig/src/magics.h
-+++ magics++-2.33.0/src/magics.h
+--- magics++-3.0.0.orig/src/magics.h
++++ magics++-3.0.0/src/magics.h
@@ -106,7 +106,7 @@ using std::pair;
//using std::list;
using std::map;
@@ -171,11 +171,11 @@ Index: magics++-2.33.0/src/magics.h
#include <exception>
-Index: magics++-2.33.0/src/visualisers/AutomaticContourMethod.h
+Index: magics++-3.0.0/src/visualisers/AutomaticContourMethod.h
===================================================================
---- magics++-2.33.0.orig/src/visualisers/AutomaticContourMethod.h
-+++ magics++-2.33.0/src/visualisers/AutomaticContourMethod.h
-@@ -205,7 +205,7 @@ public:
+--- magics++-3.0.0.orig/src/visualisers/AutomaticContourMethod.h
++++ magics++-3.0.0/src/visualisers/AutomaticContourMethod.h
+@@ -202,7 +202,7 @@ public:
// data, because the sub-sampling method (above) uses no interpolation.
if ((nSampleX > 1) && (nSampleY > 1)) {
ContourMethod* cm = MagTranslator<string, ContourMethod >()("linear");
@@ -184,7 +184,7 @@ Index: magics++-2.33.0/src/visualisers/AutomaticContourMethod.h
pMatrixHandler = pContourMethod->handler(matrix, owner);
-@@ -215,7 +215,7 @@ public:
+@@ -212,7 +212,7 @@ public:
data.hasMissingValues())
{
ContourMethod* cm = MagTranslator<string, ContourMethod >()("linear");
@@ -193,7 +193,7 @@ Index: magics++-2.33.0/src/visualisers/AutomaticContourMethod.h
pMatrixHandler = pContourMethod->handler(matrix, owner);
-@@ -226,7 +226,7 @@ public:
+@@ -223,7 +223,7 @@ public:
else
{
Akima760Method *am = static_cast < Akima760Method *> (MagTranslator<string, ContourMethod >()("akima760"));
@@ -202,10 +202,10 @@ Index: magics++-2.33.0/src/visualisers/AutomaticContourMethod.h
pAkima760Method->resolutionX_ = (fContourResolutionX);
pAkima760Method->resolutionY_ = (fContourResolutionY);
-Index: magics++-2.33.0/src/visualisers/CalculateColourTechnique.cc
+Index: magics++-3.0.0/src/visualisers/CalculateColourTechnique.cc
===================================================================
---- magics++-2.33.0.orig/src/visualisers/CalculateColourTechnique.cc
-+++ magics++-2.33.0/src/visualisers/CalculateColourTechnique.cc
+--- magics++-3.0.0.orig/src/visualisers/CalculateColourTechnique.cc
++++ magics++-3.0.0/src/visualisers/CalculateColourTechnique.cc
@@ -51,8 +51,8 @@ void CalculateColourTechnique::print(ost
void CalculateColourTechnique::set(const ColourTechniqueInterface& attributes)
@@ -217,10 +217,10 @@ Index: magics++-2.33.0/src/visualisers/CalculateColourTechnique.cc
direction_ = attributes.getDirection();
}
-Index: magics++-2.33.0/src/visualisers/LabelPlotting.cc
+Index: magics++-3.0.0/src/visualisers/LabelPlotting.cc
===================================================================
---- magics++-2.33.0.orig/src/visualisers/LabelPlotting.cc
-+++ magics++-2.33.0/src/visualisers/LabelPlotting.cc
+--- magics++-3.0.0.orig/src/visualisers/LabelPlotting.cc
++++ magics++-3.0.0/src/visualisers/LabelPlotting.cc
@@ -41,7 +41,7 @@ void LabelPlotting::prepare(NoGridPlotti
if ( *colour_ == "UNDEFINED" ) {
@@ -230,10 +230,10 @@ Index: magics++-2.33.0/src/visualisers/LabelPlotting.cc
}
if ( longitudes_.empty() )
-Index: magics++-2.33.0/tools/xml2cc.pl
+Index: magics++-3.0.0/tools/xml2cc.pl
===================================================================
---- magics++-2.33.0.orig/tools/xml2cc.pl
-+++ magics++-2.33.0/tools/xml2cc.pl
+--- magics++-3.0.0.orig/tools/xml2cc.pl
++++ magics++-3.0.0/tools/xml2cc.pl
@@ -298,7 +298,7 @@ EOF
}
else
@@ -252,10 +252,10 @@ Index: magics++-2.33.0/tools/xml2cc.pl
}
print "";
-Index: magics++-2.33.0/tools/xml2cc.pl.workshop
+Index: magics++-3.0.0/tools/xml2cc.pl.workshop
===================================================================
---- magics++-2.33.0.orig/tools/xml2cc.pl.workshop
-+++ magics++-2.33.0/tools/xml2cc.pl.workshop
+--- magics++-3.0.0.orig/tools/xml2cc.pl.workshop
++++ magics++-3.0.0/tools/xml2cc.pl.workshop
@@ -315,7 +315,7 @@ EOF
{
print <<EOF;
@@ -274,10 +274,10 @@ Index: magics++-2.33.0/tools/xml2cc.pl.workshop
}
}
-Index: magics++-2.33.0/tools/xml2mv.pl
+Index: magics++-3.0.0/tools/xml2mv.pl
===================================================================
---- magics++-2.33.0.orig/tools/xml2mv.pl
-+++ magics++-2.33.0/tools/xml2mv.pl
+--- magics++-3.0.0.orig/tools/xml2mv.pl
++++ magics++-3.0.0/tools/xml2mv.pl
@@ -447,7 +447,7 @@ EOF
{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/magics.git
More information about the debian-science-commits
mailing list