[Scipy-svn] r2501 - in trunk/Lib/sparse: . sparsetools

scipy-svn at scipy.org scipy-svn at scipy.org
Sat Jan 6 22:21:03 CST 2007


Author: rkern
Date: 2007-01-06 22:20:54 -0600 (Sat, 06 Jan 2007)
New Revision: 2501

Modified:
   trunk/Lib/sparse/setup.py
   trunk/Lib/sparse/sparsetools/sparsetools.i
   trunk/Lib/sparse/sparsetools/sparsetools.py
   trunk/Lib/sparse/sparsetools/sparsetools_wrap.cxx
Log:
I regenerated the extension module with SWIG 1.3.31 to incorporate a fix from the SWIG runtime. There were several instances of assigning const char* to plain-old char* that g++ 4 was creating errors for me.
I also added a #include "Python.h" before the numpy headers are #included. Otherwise, the module did not compile for me on OS X with Python 2.5.


Modified: trunk/Lib/sparse/setup.py
===================================================================
--- trunk/Lib/sparse/setup.py	2007-01-06 09:59:58 UTC (rev 2500)
+++ trunk/Lib/sparse/setup.py	2007-01-07 04:20:54 UTC (rev 2501)
@@ -11,21 +11,13 @@
 
     config.add_data_dir('tests')
 
-    #config.add_library('sparsekit_src',
-    #                   sources = [join('sparsekit','*.f')]
-    #                   )
-
-##    sources = ['spblas.f.src','spconv.f.src','sparsetools.pyf.src']
-##    sources = [join('sparsetools',x) for x in sources]
-
-##    config.add_extension('sparsetools',
-##                         sources =  sources,
-##                         )
-    sources = ['sparsetools_wrap.cxx','sparsetools.py']
-    sources = [join('sparsetools',x) for x in sources]
-
+    # Adding a Python file as a "source" file for an extension is something of
+    # a hack, but it works to put it in the right place.
+    sources = [join('sparsetools', x) for x in 
+        ['sparsetools.py', 'sparsetools_wrap.cxx']]
     config.add_extension('_sparsetools',
-                         sources =  sources,
+                         sources=sources,
+                         include_dirs=['sparsetools'],
                          )
 
     return config

Modified: trunk/Lib/sparse/sparsetools/sparsetools.i
===================================================================
--- trunk/Lib/sparse/sparsetools/sparsetools.i	2007-01-06 09:59:58 UTC (rev 2500)
+++ trunk/Lib/sparse/sparsetools/sparsetools.i	2007-01-07 04:20:54 UTC (rev 2501)
@@ -6,6 +6,7 @@
 
 %{
 #define SWIG_FILE_WITH_INIT
+#include "Python.h"
 #include "numpy/arrayobject.h"
 #include "complex_ops.h"
 #include "sparsetools.h"

Modified: trunk/Lib/sparse/sparsetools/sparsetools.py
===================================================================
--- trunk/Lib/sparse/sparsetools/sparsetools.py	2007-01-06 09:59:58 UTC (rev 2500)
+++ trunk/Lib/sparse/sparsetools/sparsetools.py	2007-01-07 04:20:54 UTC (rev 2501)
@@ -1,10 +1,16 @@
-# This file was created automatically by SWIG 1.3.28.
+# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 1.3.31
+#
 # Don't modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
 
 import _sparsetools
 import new
 new_instancemethod = new.instancemethod
+try:
+    _swig_property = property
+except NameError:
+    pass # Python < 2.2 doesn't have 'property'.
 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
     if (name == "thisown"): return self.this.own(value)
     if (name == "this"):
@@ -27,6 +33,11 @@
     if method: return method(self)
     raise AttributeError,name
 
+def _swig_repr(self):
+    try: strthis = "proxy of " + self.this.__repr__()
+    except: strthis = ""
+    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+
 import types
 try:
     _object = types.ObjectType
@@ -40,7 +51,7 @@
 
 
 def csrtocsc(*args):
-    """
+  """
     csrtocsc(int n_row, int n_col, int Ap, int Aj, float Ax, std::vector<(int)> Bp, 
         std::vector<(int)> Bi, std::vector<(float)> Bx)
     csrtocsc(int n_row, int n_col, int Ap, int Aj, double Ax, std::vector<(int)> Bp, 
@@ -58,10 +69,10 @@
         std::vector<(int)> Bp, std::vector<(int)> Bi, 
         std::vector<(npy_clongdouble)> Bx)
     """
-    return _sparsetools.csrtocsc(*args)
+  return _sparsetools.csrtocsc(*args)
 
 def csctocsr(*args):
-    """
+  """
     csctocsr(int n_row, int n_col, int Ap, int Ai, float Ax, std::vector<(int)> Bp, 
         std::vector<(int)> Bj, std::vector<(float)> Bx)
     csctocsr(int n_row, int n_col, int Ap, int Ai, double Ax, std::vector<(int)> Bp, 
@@ -79,10 +90,10 @@
         std::vector<(int)> Bp, std::vector<(int)> Bj, 
         std::vector<(npy_clongdouble)> Bx)
     """
-    return _sparsetools.csctocsr(*args)
+  return _sparsetools.csctocsr(*args)
 
 def csrtocoo(*args):
-    """
+  """
     csrtocoo(int n_row, int n_col, int Ap, int Aj, float Ax, std::vector<(int)> Bi, 
         std::vector<(int)> Bj, std::vector<(float)> Bx)
     csrtocoo(int n_row, int n_col, int Ap, int Aj, double Ax, std::vector<(int)> Bi, 
@@ -100,10 +111,10 @@
         std::vector<(int)> Bi, std::vector<(int)> Bj, 
         std::vector<(npy_clongdouble)> Bx)
     """
-    return _sparsetools.csrtocoo(*args)
+  return _sparsetools.csrtocoo(*args)
 
 def cootocsr(*args):
-    """
+  """
     cootocsr(int n_row, int n_col, int NNZ, int Ai, int Aj, float Ax, 
         std::vector<(int)> Bp, std::vector<(int)> Bj, 
         std::vector<(float)> Bx)
@@ -123,10 +134,10 @@
         std::vector<(int)> Bp, std::vector<(int)> Bj, 
         std::vector<(npy_clongdouble)> Bx)
     """
-    return _sparsetools.cootocsr(*args)
+  return _sparsetools.cootocsr(*args)
 
 def csctocoo(*args):
-    """
+  """
     csctocoo(int n_row, int n_col, int Ap, int Ai, float Ax, std::vector<(int)> Bi, 
         std::vector<(int)> Bj, std::vector<(float)> Bx)
     csctocoo(int n_row, int n_col, int Ap, int Ai, double Ax, std::vector<(int)> Bi, 
@@ -144,10 +155,10 @@
         std::vector<(int)> Bi, std::vector<(int)> Bj, 
         std::vector<(npy_clongdouble)> Bx)
     """
-    return _sparsetools.csctocoo(*args)
+  return _sparsetools.csctocoo(*args)
 
 def cootocsc(*args):
-    """
+  """
     cootocsc(int n_row, int n_col, int NNZ, int Ai, int Aj, float Ax, 
         std::vector<(int)> Bp, std::vector<(int)> Bi, 
         std::vector<(float)> Bx)
@@ -167,10 +178,10 @@
         std::vector<(int)> Bp, std::vector<(int)> Bi, 
         std::vector<(npy_clongdouble)> Bx)
     """
-    return _sparsetools.cootocsc(*args)
+  return _sparsetools.cootocsc(*args)
 
 def csrplcsr(*args):
-    """
+  """
     csrplcsr(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, 
         int Bj, float Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Cj, std::vector<(float)> Cx)
@@ -190,10 +201,10 @@
         int Bp, int Bj, npy_clongdouble Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Cj, std::vector<(npy_clongdouble)> Cx)
     """
-    return _sparsetools.csrplcsr(*args)
+  return _sparsetools.csrplcsr(*args)
 
 def cscplcsc(*args):
-    """
+  """
     cscplcsc(int n_row, int n_col, int Ap, int Ai, float Ax, int Bp, 
         int Bi, float Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Ci, std::vector<(float)> Cx)
@@ -213,10 +224,10 @@
         int Bp, int Bi, npy_clongdouble Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Ci, std::vector<(npy_clongdouble)> Cx)
     """
-    return _sparsetools.cscplcsc(*args)
+  return _sparsetools.cscplcsc(*args)
 
 def csrmucsr(*args):
-    """
+  """
     csrmucsr(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, 
         int Bj, float Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Cj, std::vector<(float)> Cx)
@@ -236,10 +247,10 @@
         int Bp, int Bj, npy_clongdouble Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Cj, std::vector<(npy_clongdouble)> Cx)
     """
-    return _sparsetools.csrmucsr(*args)
+  return _sparsetools.csrmucsr(*args)
 
 def cscmucsc(*args):
-    """
+  """
     cscmucsc(int n_row, int n_col, int Ap, int Ai, float Ax, int Bp, 
         int Bi, float Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Ci, std::vector<(float)> Cx)
@@ -259,10 +270,10 @@
         int Bp, int Bi, npy_clongdouble Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Ci, std::vector<(npy_clongdouble)> Cx)
     """
-    return _sparsetools.cscmucsc(*args)
+  return _sparsetools.cscmucsc(*args)
 
 def csrmux(*args):
-    """
+  """
     csrmux(int n_row, int n_col, int Ap, int Aj, float Ax, float Xx, 
         std::vector<(float)> Yx)
     csrmux(int n_row, int n_col, int Ap, int Aj, double Ax, double Xx, 
@@ -276,10 +287,10 @@
     csrmux(int n_row, int n_col, int Ap, int Aj, npy_clongdouble Ax, 
         npy_clongdouble Xx, std::vector<(npy_clongdouble)> Yx)
     """
-    return _sparsetools.csrmux(*args)
+  return _sparsetools.csrmux(*args)
 
 def cscmux(*args):
-    """
+  """
     cscmux(int n_row, int n_col, int Ap, int Ai, float Ax, float Xx, 
         std::vector<(float)> Yx)
     cscmux(int n_row, int n_col, int Ap, int Ai, double Ax, double Xx, 
@@ -293,10 +304,10 @@
     cscmux(int n_row, int n_col, int Ap, int Ai, npy_clongdouble Ax, 
         npy_clongdouble Xx, std::vector<(npy_clongdouble)> Yx)
     """
-    return _sparsetools.cscmux(*args)
+  return _sparsetools.cscmux(*args)
 
 def csrelmulcsr(*args):
-    """
+  """
     csrelmulcsr(int n_row, int n_col, int Ap, int Aj, float Ax, int Bp, 
         int Bj, float Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Cj, std::vector<(float)> Cx)
@@ -316,10 +327,10 @@
         int Bp, int Bj, npy_clongdouble Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Cj, std::vector<(npy_clongdouble)> Cx)
     """
-    return _sparsetools.csrelmulcsr(*args)
+  return _sparsetools.csrelmulcsr(*args)
 
 def cscelmulcsc(*args):
-    """
+  """
     cscelmulcsc(int n_row, int n_col, int Ap, int Ai, float Ax, int Bp, 
         int Bi, float Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Ci, std::vector<(float)> Cx)
@@ -339,10 +350,10 @@
         int Bp, int Bi, npy_clongdouble Bx, std::vector<(int)> Cp, 
         std::vector<(int)> Ci, std::vector<(npy_clongdouble)> Cx)
     """
-    return _sparsetools.cscelmulcsc(*args)
+  return _sparsetools.cscelmulcsc(*args)
 
 def spdiags(*args):
-    """
+  """
     spdiags(int n_row, int n_col, int n_diag, int offsets, float diags, 
         std::vector<(int)> Ap, std::vector<(int)> Ai, 
         std::vector<(float)> Ax)
@@ -362,10 +373,10 @@
         std::vector<(int)> Ap, std::vector<(int)> Ai, 
         std::vector<(npy_clongdouble)> Ax)
     """
-    return _sparsetools.spdiags(*args)
+  return _sparsetools.spdiags(*args)
 
 def csrtodense(*args):
-    """
+  """
     csrtodense(int n_row, int n_col, int Ap, int Aj, float Ax, float Mx)
     csrtodense(int n_row, int n_col, int Ap, int Aj, double Ax, double Mx)
     csrtodense(int n_row, int n_col, int Ap, int Aj, long double Ax, 
@@ -377,10 +388,10 @@
     csrtodense(int n_row, int n_col, int Ap, int Aj, npy_clongdouble Ax, 
         npy_clongdouble Mx)
     """
-    return _sparsetools.csrtodense(*args)
+  return _sparsetools.csrtodense(*args)
 
 def densetocsr(*args):
-    """
+  """
     densetocsr(int n_row, int n_col, float Mx, std::vector<(int)> Ap, 
         std::vector<(int)> Aj, std::vector<(float)> Ax)
     densetocsr(int n_row, int n_col, double Mx, std::vector<(int)> Ap, 
@@ -394,5 +405,5 @@
     densetocsr(int n_row, int n_col, npy_clongdouble Mx, std::vector<(int)> Ap, 
         std::vector<(int)> Aj, std::vector<(npy_clongdouble)> Ax)
     """
-    return _sparsetools.densetocsr(*args)
+  return _sparsetools.densetocsr(*args)
 

Modified: trunk/Lib/sparse/sparsetools/sparsetools_wrap.cxx
===================================================================
--- trunk/Lib/sparse/sparsetools/sparsetools_wrap.cxx	2007-01-06 09:59:58 UTC (rev 2500)
+++ trunk/Lib/sparse/sparsetools/sparsetools_wrap.cxx	2007-01-07 04:20:54 UTC (rev 2501)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.28
+ * Version 1.3.31
  * 
  * This file is not intended to be easily readable and contains a number of 
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -27,12 +27,10 @@
 };
 #endif
 
-/***********************************************************************
- *
+/* -----------------------------------------------------------------------------
  *  This section contains generic SWIG labels for method/variable
  *  declarations/attributes, and other compiler dependent labels.
- *
- ************************************************************************/
+ * ----------------------------------------------------------------------------- */
 
 /* template workaround for compilers that cannot correctly implement the C++ standard */
 #ifndef SWIGTEMPLATEDISAMBIGUATOR
@@ -89,7 +87,13 @@
 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
 #endif
 
-/* exporting methods for Windows DLLs */
+/* exporting methods */
+#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+#  ifndef GCC_HASCLASSVISIBILITY
+#    define GCC_HASCLASSVISIBILITY
+#  endif
+#endif
+
 #ifndef SWIGEXPORT
 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
 #   if defined(STATIC_LINKED)
@@ -98,7 +102,11 @@
 #     define SWIGEXPORT __declspec(dllexport)
 #   endif
 # else
-#   define SWIGEXPORT
+#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
+#     define SWIGEXPORT __attribute__ ((visibility("default")))
+#   else
+#     define SWIGEXPORT
+#   endif
 # endif
 #endif
 
@@ -111,21 +119,25 @@
 # endif 
 #endif
 
+/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
+# define _CRT_SECURE_NO_DEPRECATE
+#endif
 
+
 /* Python.h has to appear first */
 #include <Python.h>
 
-/***********************************************************************
+/* -----------------------------------------------------------------------------
  * swigrun.swg
  *
- *     This file contains generic CAPI SWIG runtime support for pointer
- *     type checking.
- *
- ************************************************************************/
+ * This file contains generic CAPI SWIG runtime support for pointer
+ * type checking.
+ * ----------------------------------------------------------------------------- */
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "2"
+#define SWIG_RUNTIME_VERSION "3"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -346,7 +358,7 @@
   for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
     while ((*f1 == ' ') && (f1 != l1)) ++f1;
     while ((*f2 == ' ') && (f2 != l2)) ++f2;
-    if (*f1 != *f2) return (int)(*f1 - *f2);
+    if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
   }
   return (l1 - f1) - (l2 - f2);
 }
@@ -702,13 +714,11 @@
 
 
 
-/* Python.h has to appear first */
-#include <Python.h>
 
 /* Add PyOS_snprintf for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
-#   define PyOS_snprintf _snprintf
+#  define PyOS_snprintf _snprintf
 # else
 #  define PyOS_snprintf snprintf
 # endif
@@ -718,7 +728,7 @@
 #if PY_VERSION_HEX < 0x02020000
 
 #ifndef SWIG_PYBUFFER_SIZE
-#define SWIG_PYBUFFER_SIZE 1024
+# define SWIG_PYBUFFER_SIZE 1024
 #endif
 
 static PyObject *
@@ -729,36 +739,70 @@
   va_start(ap, fmt);
   res = vsnprintf(buf, sizeof(buf), fmt, ap);
   va_end(ap);
-  return (res < 0 || res >= sizeof(buf)) ? 0 : PyString_FromString(buf);
+  return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
 }
 #endif
 
 /* Add PyObject_Del for old Pythons */
 #if PY_VERSION_HEX < 0x01060000
-#define PyObject_Del(op) PyMem_DEL((op))
+# define PyObject_Del(op) PyMem_DEL((op))
 #endif
 #ifndef PyObject_DEL
-#define PyObject_DEL PyObject_Del
+# define PyObject_DEL PyObject_Del
 #endif
 
 /* A crude PyExc_StopIteration exception for old Pythons */
 #if PY_VERSION_HEX < 0x02020000
-#define PyExc_StopIteration PyExc_RuntimeError
-#define PyObject_GenericGetAttr 0
-#define Py_NotImplemented PyExc_RuntimeError
+# ifndef PyExc_StopIteration
+#  define PyExc_StopIteration PyExc_RuntimeError
+# endif
+# ifndef PyObject_GenericGetAttr
+#  define PyObject_GenericGetAttr 0
+# endif
 #endif
+/* Py_NotImplemented is defined in 2.1 and up. */
+#if PY_VERSION_HEX < 0x02010000
+# ifndef Py_NotImplemented
+#  define Py_NotImplemented PyExc_RuntimeError
+# endif
+#endif
 
 
 /* A crude PyString_AsStringAndSize implementation for old Pythons */
 #if PY_VERSION_HEX < 0x02010000
-#define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
+# ifndef PyString_AsStringAndSize
+#  define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
+# endif
 #endif
 
+/* PySequence_Size for old Pythons */
 #if PY_VERSION_HEX < 0x02000000
-#define PySequence_Size PySequence_Length
+# ifndef PySequence_Size
+#  define PySequence_Size PySequence_Length
+# endif
 #endif
 
 
+/* PyBool_FromLong for old Pythons */
+#if PY_VERSION_HEX < 0x02030000
+static
+PyObject *PyBool_FromLong(long ok)
+{
+  PyObject *result = ok ? Py_True : Py_False;
+  Py_INCREF(result);
+  return result;
+}
+#endif
+
+/* Py_ssize_t for old Pythons */
+/* This code is as recommended by: */
+/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+# define PY_SSIZE_T_MAX INT_MAX
+# define PY_SSIZE_T_MIN INT_MIN
+#endif
+
 /* -----------------------------------------------------------------------------
  * error manipulation
  * ----------------------------------------------------------------------------- */
@@ -933,15 +977,17 @@
 #endif
 
 
-/***********************************************************************
+/* -----------------------------------------------------------------------------
+ * See the LICENSE file for information on copyright, usage and redistribution
+ * of SWIG, and the README file for authors - http://www.swig.org/release.html.
+ *
  * pyrun.swg
  *
- *     This file contains the runtime support for Python modules
- *     and includes code for managing global variables and pointer
- *     type checking.
+ * This file contains the runtime support for Python modules
+ * and includes code for managing global variables and pointer
+ * type checking.
  *
- * Author : David Beazley (beazley at cs.uchicago.edu)
- ************************************************************************/
+ * ----------------------------------------------------------------------------- */
 
 /* Common SWIG API */
 
@@ -1149,7 +1195,7 @@
 SWIGRUNTIMEINLINE PyObject * 
 _SWIG_Py_None(void)
 {
-  PyObject *none = Py_BuildValue("");
+  PyObject *none = Py_BuildValue((char*)"");
   Py_DECREF(none);
   return none;
 }
@@ -1171,7 +1217,6 @@
   return none;
 }
 
-
 /* PySwigClientData */
 
 typedef struct {
@@ -1207,7 +1252,7 @@
     PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData));
     /* the klass element */
     data->klass = obj;
-    Py_INCREF(obj);
+    Py_INCREF(data->klass);
     /* the newraw method and newargs arguments used to create a new raw instance */
     if (PyClass_Check(obj)) {
       data->newraw = 0;
@@ -1216,15 +1261,17 @@
     } else {
 #if (PY_VERSION_HEX < 0x02020000)
       data->newraw = 0;
-      data->newargs = obj;
-      Py_INCREF(obj);
 #else
-      data->newraw = PyObject_GetAttrString((PyObject*)&PyBaseObject_Type, (char *)"__new__");
-      Py_INCREF(data->newraw);
-      data->newargs = PyTuple_New(1);
-      PyTuple_SetItem(data->newargs, 0, obj);
+      data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
+#endif
+      if (data->newraw) {
+	Py_INCREF(data->newraw);
+	data->newargs = PyTuple_New(1);
+	PyTuple_SetItem(data->newargs, 0, obj);
+      } else {
+	data->newargs = obj;
+      }
       Py_INCREF(data->newargs);
-#endif
     }
     /* the destroy method, aka as the C++ delete method */
     data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
@@ -1252,7 +1299,6 @@
 SWIGRUNTIME void 
 PySwigClientData_Del(PySwigClientData* data)
 {
-  Py_XDECREF(data->klass);
   Py_XDECREF(data->newraw);
   Py_XDECREF(data->newargs);
   Py_XDECREF(data->destroy);
@@ -1305,14 +1351,22 @@
 }
 
 SWIGRUNTIME PyObject *
+#ifdef METH_NOARGS
 PySwigObject_repr(PySwigObject *v)
+#else
+PySwigObject_repr(PySwigObject *v, PyObject *args)
+#endif
 {
   const char *name = SWIG_TypePrettyName(v->ty);
   PyObject *hex = PySwigObject_hex(v);    
   PyObject *repr = PyString_FromFormat("<Swig Object of type '%s' at 0x%s>", name, PyString_AsString(hex));
   Py_DECREF(hex);
   if (v->next) {
+#ifdef METH_NOARGS
     PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next);
+#else
+    PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args);
+#endif
     PyString_ConcatAndDel(&repr,nrep);
   }
   return repr;  
@@ -1321,7 +1375,11 @@
 SWIGRUNTIME int
 PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
 {
+#ifdef METH_NOARGS
   PyObject *repr = PySwigObject_repr(v);
+#else
+  PyObject *repr = PySwigObject_repr(v, NULL);
+#endif
   if (repr) {
     fputs(PyString_AsString(repr), fp);
     Py_DECREF(repr);
@@ -1470,7 +1528,7 @@
   else
     {
       PySwigObject *sobj = (PySwigObject *)v;
-      PyObject *obj = sobj->own ? Py_True : Py_False;
+      PyObject *obj = PyBool_FromLong(sobj->own);
       if (val) {
 #ifdef METH_NOARGS
 	if (PyObject_IsTrue(val)) {
@@ -1486,7 +1544,6 @@
 	}
 #endif
       } 
-      Py_INCREF(obj);
       return obj;
     }
 }
@@ -1499,6 +1556,7 @@
   {(char *)"own",     (PyCFunction)PySwigObject_own,     METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
   {(char *)"append",  (PyCFunction)PySwigObject_append,  METH_O,       (char *)"appends another 'this' object"},
   {(char *)"next",    (PyCFunction)PySwigObject_next,    METH_NOARGS,  (char *)"returns the next 'this' object"},
+  {(char *)"__repr__",(PyCFunction)PySwigObject_repr,    METH_NOARGS,  (char *)"returns object representation"},
   {0, 0, 0, 0}  
 };
 #else
@@ -1509,6 +1567,7 @@
   {(char *)"own",     (PyCFunction)PySwigObject_own,     METH_VARARGS,  (char *)"returns/sets ownership of the pointer"},
   {(char *)"append",  (PyCFunction)PySwigObject_append,  METH_VARARGS,  (char *)"appends another 'this' object"},
   {(char *)"next",    (PyCFunction)PySwigObject_next,    METH_VARARGS,  (char *)"returns the next 'this' object"},
+  {(char *)"__repr__",(PyCFunction)PySwigObject_repr,   METH_VARARGS,  (char *)"returns object representation"},
   {0, 0, 0, 0}  
 };
 #endif
@@ -1856,14 +1915,13 @@
       if (dictptr != NULL) {
 	PyObject *dict = *dictptr;
 	obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
-      }      
+      } else {
 #ifdef PyWeakref_CheckProxy
-      else if (PyWeakref_CheckProxy(pyobj)) {
-	PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
-	return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
-      }
+	if (PyWeakref_CheckProxy(pyobj)) {
+	  PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
+	  return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
+	}
 #endif
-      if (!obj) {
 	obj = PyObject_GetAttr(pyobj,SWIG_This());
 	if (obj) {
 	  Py_DECREF(obj);
@@ -1891,7 +1949,6 @@
   }
 }
 
-
 /* Acquire a pointer value */
 
 SWIGRUNTIME int
@@ -1997,7 +2054,7 @@
     void *vptr = 0;
     
     /* here we get the method pointer for callbacks */
-    char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc) {
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
@@ -2071,6 +2128,14 @@
   }
   return inst;
 #else
+#if (PY_VERSION_HEX >= 0x02010000)
+  PyObject *inst;
+  PyObject *dict = PyDict_New();
+  PyDict_SetItem(dict, SWIG_This(), swig_this);
+  inst = PyInstance_NewRaw(data->newargs, dict);
+  Py_DECREF(dict);
+  return (PyObject *) inst;
+#else
   PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
   if (inst == NULL) {
     return NULL;
@@ -2082,11 +2147,56 @@
     Py_DECREF(inst);
     return NULL;
   }
+#ifdef Py_TPFLAGS_HAVE_WEAKREFS
+  inst->in_weakreflist = NULL;
+#endif
+#ifdef Py_TPFLAGS_GC
+  PyObject_GC_Init(inst);
+#endif
   PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
   return (PyObject *) inst;
 #endif
+#endif
 }
 
+SWIGRUNTIME void
+SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
+{
+ PyObject *dict;
+#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
+ PyObject **dictptr = _PyObject_GetDictPtr(inst);
+ if (dictptr != NULL) {
+   dict = *dictptr;
+   if (dict == NULL) {
+     dict = PyDict_New();
+     *dictptr = dict;
+   }
+   PyDict_SetItem(dict, SWIG_This(), swig_this);
+   return;
+ }
+#endif
+ dict = PyObject_GetAttrString(inst, (char*)"__dict__");
+ PyDict_SetItem(dict, SWIG_This(), swig_this);
+ Py_DECREF(dict);
+} 
+
+
+SWIGINTERN PyObject *
+SWIG_Python_InitShadowInstance(PyObject *args) {
+  PyObject *obj[2];
+  if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
+    return NULL;
+  } else {
+    PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
+    if (sthis) {
+      PySwigObject_append((PyObject*) sthis, obj[1]);
+    } else {
+      SWIG_Python_SetSwigThis(obj[0], obj[1]);
+    }
+    return SWIG_Py_Void();
+  }
+}
+
 /* Create a new pointer object */
 
 SWIGRUNTIME PyObject *
@@ -2204,7 +2314,35 @@
   }
 }
 
+/* The python cached type query */
+SWIGRUNTIME PyObject *
+SWIG_Python_TypeCache(void) {
+  static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
+  return cache;
+}
 
+SWIGRUNTIME swig_type_info *
+SWIG_Python_TypeQuery(const char *type)
+{
+  PyObject *cache = SWIG_Python_TypeCache();
+  PyObject *key = PyString_FromString(type); 
+  PyObject *obj = PyDict_GetItem(cache, key);
+  swig_type_info *descriptor;
+  if (obj) {
+    descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
+  } else {
+    swig_module_info *swig_module = SWIG_Python_GetModule();
+    descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
+    if (descriptor) {
+      obj = PyCObject_FromVoidPtr(descriptor, NULL);
+      PyDict_SetItem(cache, key, obj);
+      Py_DECREF(obj);
+    }
+  }
+  Py_DECREF(key);
+  return descriptor;
+}
+
 /* 
    For backward compatibility only
 */
@@ -2345,7 +2483,7 @@
 
 #if (PY_VERSION_HEX <= 0x02000000)
 # if !defined(SWIG_PYTHON_CLASSIC)
-#  warning "This python version probably requires to use swig with the '-classic' option"
+#  error "This python version requires swig to be run with the '-classic' option"
 # endif
 #endif
 
@@ -2356,11 +2494,12 @@
 
 #define SWIG_name    "_sparsetools"
 
-#define SWIGVERSION 0x010328 
+#define SWIGVERSION 0x010331 
+#define SWIG_VERSION SWIGVERSION
 
 
-#define SWIG_as_voidptr(a) const_cast<void * >(static_cast<const void * >(a)) 
-#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast<void** >(a)) 
+#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
+#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) 
 
 
 #include <stdexcept>
@@ -2427,6 +2566,7 @@
 
 
 #define SWIG_FILE_WITH_INIT
+#include "Python.h"
 #include "numpy/arrayobject.h"
 #include "complex_ops.h"
 #include "sparsetools.h"
@@ -2862,7 +3002,7 @@
     if ((v < INT_MIN || v > INT_MAX)) {
       return SWIG_OverflowError;
     } else {
-      if (val) *val = static_cast<int >(v);
+      if (val) *val = static_cast< int >(v);
     }
   }  
   return res;
@@ -2917,12 +3057,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -2948,7 +3088,6 @@
     arg5 = (float*) array5->data;
   }
   csrtocsc<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -3041,12 +3180,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -3072,7 +3211,6 @@
     arg5 = (double*) array5->data;
   }
   csrtocsc<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -3165,12 +3303,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -3196,7 +3334,6 @@
     arg5 = (long double*) array5->data;
   }
   csrtocsc<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -3289,12 +3426,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -3320,7 +3457,6 @@
     arg5 = (npy_cfloat*) array5->data;
   }
   csrtocsc<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -3413,12 +3549,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -3444,7 +3580,6 @@
     arg5 = (npy_cdouble*) array5->data;
   }
   csrtocsc<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -3537,12 +3672,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -3568,7 +3703,6 @@
     arg5 = (npy_clongdouble*) array5->data;
   }
   csrtocsc<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -3813,7 +3947,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csrtocsc'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csrtocsc'.\n  Possible C/C++ prototypes are:\n    csrtocsc<(float)>(int const,int const,int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    csrtocsc<(double)>(int const,int const,int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    csrtocsc<(long double)>(int const,int const,int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    csrtocsc<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    csrtocsc<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    csrtocsc<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -3864,12 +3998,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -3895,7 +4029,6 @@
     arg5 = (float*) array5->data;
   }
   csctocsr<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -3988,12 +4121,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -4019,7 +4152,6 @@
     arg5 = (double*) array5->data;
   }
   csctocsr<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -4112,12 +4244,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -4143,7 +4275,6 @@
     arg5 = (long double*) array5->data;
   }
   csctocsr<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -4236,12 +4367,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -4267,7 +4398,6 @@
     arg5 = (npy_cfloat*) array5->data;
   }
   csctocsr<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -4360,12 +4490,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -4391,7 +4521,6 @@
     arg5 = (npy_cdouble*) array5->data;
   }
   csctocsr<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -4484,12 +4613,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -4515,7 +4644,6 @@
     arg5 = (npy_clongdouble*) array5->data;
   }
   csctocsr<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -4760,7 +4888,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csctocsr'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csctocsr'.\n  Possible C/C++ prototypes are:\n    csctocsr<(float)>(int const,int const,int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    csctocsr<(double)>(int const,int const,int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    csctocsr<(long double)>(int const,int const,int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    csctocsr<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    csctocsr<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    csctocsr<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -4811,12 +4939,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -4842,7 +4970,6 @@
     arg5 = (float*) array5->data;
   }
   csrtocoo<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -4935,12 +5062,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -4966,7 +5093,6 @@
     arg5 = (double*) array5->data;
   }
   csrtocoo<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -5059,12 +5185,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -5090,7 +5216,6 @@
     arg5 = (long double*) array5->data;
   }
   csrtocoo<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -5183,12 +5308,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -5214,7 +5339,6 @@
     arg5 = (npy_cfloat*) array5->data;
   }
   csrtocoo<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -5307,12 +5431,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -5338,7 +5462,6 @@
     arg5 = (npy_cdouble*) array5->data;
   }
   csrtocoo<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -5431,12 +5554,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -5462,7 +5585,6 @@
     arg5 = (npy_clongdouble*) array5->data;
   }
   csrtocoo<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -5707,7 +5829,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csrtocoo'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csrtocoo'.\n  Possible C/C++ prototypes are:\n    csrtocoo<(float)>(int const,int const,int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    csrtocoo<(double)>(int const,int const,int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    csrtocoo<(long double)>(int const,int const,int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    csrtocoo<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    csrtocoo<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    csrtocoo<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -5762,17 +5884,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsr" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -5798,7 +5920,6 @@
     arg6 = (float*) array6->data;
   }
   cootocsr<float >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(float const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -5895,17 +6016,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsr" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -5931,7 +6052,6 @@
     arg6 = (double*) array6->data;
   }
   cootocsr<double >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(double const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -6028,17 +6148,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsr" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -6064,7 +6184,6 @@
     arg6 = (long double*) array6->data;
   }
   cootocsr<long double >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(long double const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -6161,17 +6280,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsr" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -6197,7 +6316,6 @@
     arg6 = (npy_cfloat*) array6->data;
   }
   cootocsr<npy_cfloat >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(npy_cfloat const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -6294,17 +6412,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsr" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -6330,7 +6448,6 @@
     arg6 = (npy_cdouble*) array6->data;
   }
   cootocsr<npy_cdouble >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(npy_cdouble const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -6427,17 +6544,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsr" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -6463,7 +6580,6 @@
     arg6 = (npy_clongdouble*) array6->data;
   }
   cootocsr<npy_clongdouble >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(npy_clongdouble const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -6744,7 +6860,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'cootocsr'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cootocsr'.\n  Possible C/C++ prototypes are:\n    cootocsr<(float)>(int const,int const,int const,int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    cootocsr<(double)>(int const,int const,int const,int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    cootocsr<(long double)>(int const,int const,int const,int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    cootocsr<(npy_cfloat)>(int const,int const,int const,int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    cootocsr<(npy_cdouble)>(int const,int const,int const,int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    cootocsr<(npy_clongdouble)>(int const,int const,int const,int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -6795,12 +6911,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -6826,7 +6942,6 @@
     arg5 = (float*) array5->data;
   }
   csctocoo<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -6919,12 +7034,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -6950,7 +7065,6 @@
     arg5 = (double*) array5->data;
   }
   csctocoo<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -7043,12 +7157,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -7074,7 +7188,6 @@
     arg5 = (long double*) array5->data;
   }
   csctocoo<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -7167,12 +7280,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -7198,7 +7311,6 @@
     arg5 = (npy_cfloat*) array5->data;
   }
   csctocoo<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -7291,12 +7403,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -7322,7 +7434,6 @@
     arg5 = (npy_cdouble*) array5->data;
   }
   csctocoo<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -7415,12 +7526,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csctocoo" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csctocoo" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -7446,7 +7557,6 @@
     arg5 = (npy_clongdouble*) array5->data;
   }
   csctocoo<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -7691,7 +7801,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csctocoo'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csctocoo'.\n  Possible C/C++ prototypes are:\n    csctocoo<(float)>(int const,int const,int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    csctocoo<(double)>(int const,int const,int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    csctocoo<(long double)>(int const,int const,int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    csctocoo<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    csctocoo<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    csctocoo<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -7746,17 +7856,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsc" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -7782,7 +7892,6 @@
     arg6 = (float*) array6->data;
   }
   cootocsc<float >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(float const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -7879,17 +7988,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsc" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -7915,7 +8024,6 @@
     arg6 = (double*) array6->data;
   }
   cootocsc<double >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(double const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -8012,17 +8120,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsc" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -8048,7 +8156,6 @@
     arg6 = (long double*) array6->data;
   }
   cootocsc<long double >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(long double const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -8145,17 +8252,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsc" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -8181,7 +8288,6 @@
     arg6 = (npy_cfloat*) array6->data;
   }
   cootocsc<npy_cfloat >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(npy_cfloat const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -8278,17 +8384,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsc" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -8314,7 +8420,6 @@
     arg6 = (npy_cdouble*) array6->data;
   }
   cootocsc<npy_cdouble >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(npy_cdouble const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -8411,17 +8516,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cootocsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cootocsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "cootocsc" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -8447,7 +8552,6 @@
     arg6 = (npy_clongdouble*) array6->data;
   }
   cootocsc<npy_clongdouble >(arg1,arg2,arg3,(int const (*))arg4,(int const (*))arg5,(npy_clongdouble const (*))arg6,arg7,arg8,arg9);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -8728,7 +8832,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'cootocsc'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cootocsc'.\n  Possible C/C++ prototypes are:\n    cootocsc<(float)>(int const,int const,int const,int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    cootocsc<(double)>(int const,int const,int const,int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    cootocsc<(long double)>(int const,int const,int const,int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    cootocsc<(npy_cfloat)>(int const,int const,int const,int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    cootocsc<(npy_cdouble)>(int const,int const,int const,int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    cootocsc<(npy_clongdouble)>(int const,int const,int const,int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -8791,12 +8895,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrplcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrplcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -8846,7 +8950,6 @@
     arg8 = (float*) array8->data;
   }
   csrplcsr<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(int const (*))arg6,(int const (*))arg7,(float const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -8969,12 +9072,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrplcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrplcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -9024,7 +9127,6 @@
     arg8 = (double*) array8->data;
   }
   csrplcsr<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -9147,12 +9249,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrplcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrplcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -9202,7 +9304,6 @@
     arg8 = (long double*) array8->data;
   }
   csrplcsr<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(long double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -9325,12 +9426,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrplcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrplcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -9380,7 +9481,6 @@
     arg8 = (npy_cfloat*) array8->data;
   }
   csrplcsr<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cfloat const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -9503,12 +9603,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrplcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrplcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -9558,7 +9658,6 @@
     arg8 = (npy_cdouble*) array8->data;
   }
   csrplcsr<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -9681,12 +9780,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrplcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrplcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -9736,7 +9835,6 @@
     arg8 = (npy_clongdouble*) array8->data;
   }
   csrplcsr<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_clongdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -10089,7 +10187,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csrplcsr'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csrplcsr'.\n  Possible C/C++ prototypes are:\n    csrplcsr<(float)>(int const,int const,int const [],int const [],float const [],int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    csrplcsr<(double)>(int const,int const,int const [],int const [],double const [],int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    csrplcsr<(long double)>(int const,int const,int const [],int const [],long double const [],int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    csrplcsr<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    csrplcsr<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    csrplcsr<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -10152,12 +10250,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscplcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscplcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -10207,7 +10305,6 @@
     arg8 = (float*) array8->data;
   }
   cscplcsc<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(int const (*))arg6,(int const (*))arg7,(float const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -10330,12 +10427,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscplcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscplcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -10385,7 +10482,6 @@
     arg8 = (double*) array8->data;
   }
   cscplcsc<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -10508,12 +10604,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscplcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscplcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -10563,7 +10659,6 @@
     arg8 = (long double*) array8->data;
   }
   cscplcsc<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(long double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -10686,12 +10781,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscplcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscplcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -10741,7 +10836,6 @@
     arg8 = (npy_cfloat*) array8->data;
   }
   cscplcsc<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cfloat const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -10864,12 +10958,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscplcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscplcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -10919,7 +11013,6 @@
     arg8 = (npy_cdouble*) array8->data;
   }
   cscplcsc<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -11042,12 +11135,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscplcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscplcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -11097,7 +11190,6 @@
     arg8 = (npy_clongdouble*) array8->data;
   }
   cscplcsc<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_clongdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -11450,7 +11542,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'cscplcsc'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cscplcsc'.\n  Possible C/C++ prototypes are:\n    cscplcsc<(float)>(int const,int const,int const [],int const [],float const [],int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    cscplcsc<(double)>(int const,int const,int const [],int const [],double const [],int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    cscplcsc<(long double)>(int const,int const,int const [],int const [],long double const [],int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    cscplcsc<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    cscplcsc<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    cscplcsc<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -11513,12 +11605,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmucsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmucsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -11568,7 +11660,6 @@
     arg8 = (float*) array8->data;
   }
   csrmucsr<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(int const (*))arg6,(int const (*))arg7,(float const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -11691,12 +11782,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmucsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmucsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -11746,7 +11837,6 @@
     arg8 = (double*) array8->data;
   }
   csrmucsr<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -11869,12 +11959,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmucsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmucsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -11924,7 +12014,6 @@
     arg8 = (long double*) array8->data;
   }
   csrmucsr<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(long double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -12047,12 +12136,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmucsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmucsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -12102,7 +12191,6 @@
     arg8 = (npy_cfloat*) array8->data;
   }
   csrmucsr<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cfloat const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -12225,12 +12313,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmucsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmucsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -12280,7 +12368,6 @@
     arg8 = (npy_cdouble*) array8->data;
   }
   csrmucsr<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -12403,12 +12490,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmucsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmucsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -12458,7 +12545,6 @@
     arg8 = (npy_clongdouble*) array8->data;
   }
   csrmucsr<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_clongdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -12811,7 +12897,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csrmucsr'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csrmucsr'.\n  Possible C/C++ prototypes are:\n    csrmucsr<(float)>(int const,int const,int const [],int const [],float const [],int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    csrmucsr<(double)>(int const,int const,int const [],int const [],double const [],int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    csrmucsr<(long double)>(int const,int const,int const [],int const [],long double const [],int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    csrmucsr<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    csrmucsr<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    csrmucsr<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -12874,12 +12960,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmucsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmucsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -12929,7 +13015,6 @@
     arg8 = (float*) array8->data;
   }
   cscmucsc<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(int const (*))arg6,(int const (*))arg7,(float const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -13052,12 +13137,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmucsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmucsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -13107,7 +13192,6 @@
     arg8 = (double*) array8->data;
   }
   cscmucsc<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -13230,12 +13314,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmucsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmucsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -13285,7 +13369,6 @@
     arg8 = (long double*) array8->data;
   }
   cscmucsc<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(long double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -13408,12 +13491,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmucsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmucsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -13463,7 +13546,6 @@
     arg8 = (npy_cfloat*) array8->data;
   }
   cscmucsc<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cfloat const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -13586,12 +13668,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmucsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmucsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -13641,7 +13723,6 @@
     arg8 = (npy_cdouble*) array8->data;
   }
   cscmucsc<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -13764,12 +13845,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmucsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmucsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -13819,7 +13900,6 @@
     arg8 = (npy_clongdouble*) array8->data;
   }
   cscmucsc<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_clongdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -14172,7 +14252,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'cscmucsc'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cscmucsc'.\n  Possible C/C++ prototypes are:\n    cscmucsc<(float)>(int const,int const,int const [],int const [],float const [],int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    cscmucsc<(double)>(int const,int const,int const [],int const [],double const [],int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    cscmucsc<(long double)>(int const,int const,int const [],int const [],long double const [],int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    cscmucsc<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    cscmucsc<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    cscmucsc<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -14215,12 +14295,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -14254,7 +14334,6 @@
     arg6 = (float*) array6->data;
   }
   csrmux<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(float const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -14331,12 +14410,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -14370,7 +14449,6 @@
     arg6 = (double*) array6->data;
   }
   csrmux<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(double const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -14447,12 +14525,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -14486,7 +14564,6 @@
     arg6 = (long double*) array6->data;
   }
   csrmux<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(long double const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -14563,12 +14640,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -14602,7 +14679,6 @@
     arg6 = (npy_cfloat*) array6->data;
   }
   csrmux<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(npy_cfloat const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -14679,12 +14755,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -14718,7 +14794,6 @@
     arg6 = (npy_cdouble*) array6->data;
   }
   csrmux<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(npy_cdouble const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -14795,12 +14870,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -14834,7 +14909,6 @@
     arg6 = (npy_clongdouble*) array6->data;
   }
   csrmux<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(npy_clongdouble const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -15101,7 +15175,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csrmux'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csrmux'.\n  Possible C/C++ prototypes are:\n    csrmux<(float)>(int const,int const,int const [],int const [],float const [],float const [],std::vector<float > *)\n    csrmux<(double)>(int const,int const,int const [],int const [],double const [],double const [],std::vector<double > *)\n    csrmux<(long double)>(int const,int const,int const [],int const [],long double const [],long double const [],std::vector<long double > *)\n    csrmux<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],npy_cfloat const [],std::vector<npy_cfloat > *)\n    csrmux<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],npy_cdouble const [],std::vector<npy_cdouble > *)\n    csrmux<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],npy_clongdouble const [],std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -15144,12 +15218,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -15183,7 +15257,6 @@
     arg6 = (float*) array6->data;
   }
   cscmux<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(float const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -15260,12 +15333,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -15299,7 +15372,6 @@
     arg6 = (double*) array6->data;
   }
   cscmux<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(double const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -15376,12 +15448,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -15415,7 +15487,6 @@
     arg6 = (long double*) array6->data;
   }
   cscmux<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(long double const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -15492,12 +15563,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -15531,7 +15602,6 @@
     arg6 = (npy_cfloat*) array6->data;
   }
   cscmux<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(npy_cfloat const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -15608,12 +15678,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -15647,7 +15717,6 @@
     arg6 = (npy_cdouble*) array6->data;
   }
   cscmux<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(npy_cdouble const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -15724,12 +15793,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscmux" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscmux" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -15763,7 +15832,6 @@
     arg6 = (npy_clongdouble*) array6->data;
   }
   cscmux<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(npy_clongdouble const (*))arg6,arg7);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg7)->size(); 
@@ -16030,7 +16098,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'cscmux'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cscmux'.\n  Possible C/C++ prototypes are:\n    cscmux<(float)>(int const,int const,int const [],int const [],float const [],float const [],std::vector<float > *)\n    cscmux<(double)>(int const,int const,int const [],int const [],double const [],double const [],std::vector<double > *)\n    cscmux<(long double)>(int const,int const,int const [],int const [],long double const [],long double const [],std::vector<long double > *)\n    cscmux<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],npy_cfloat const [],std::vector<npy_cfloat > *)\n    cscmux<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],npy_cdouble const [],std::vector<npy_cdouble > *)\n    cscmux<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],npy_clongdouble const [],std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -16093,12 +16161,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrelmulcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrelmulcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -16148,7 +16216,6 @@
     arg8 = (float*) array8->data;
   }
   csrelmulcsr<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(int const (*))arg6,(int const (*))arg7,(float const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -16271,12 +16338,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrelmulcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrelmulcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -16326,7 +16393,6 @@
     arg8 = (double*) array8->data;
   }
   csrelmulcsr<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -16449,12 +16515,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrelmulcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrelmulcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -16504,7 +16570,6 @@
     arg8 = (long double*) array8->data;
   }
   csrelmulcsr<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(long double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -16627,12 +16692,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrelmulcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrelmulcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -16682,7 +16747,6 @@
     arg8 = (npy_cfloat*) array8->data;
   }
   csrelmulcsr<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cfloat const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -16805,12 +16869,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrelmulcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrelmulcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -16860,7 +16924,6 @@
     arg8 = (npy_cdouble*) array8->data;
   }
   csrelmulcsr<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -16983,12 +17046,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrelmulcsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrelmulcsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -17038,7 +17101,6 @@
     arg8 = (npy_clongdouble*) array8->data;
   }
   csrelmulcsr<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_clongdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -17391,7 +17453,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csrelmulcsr'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csrelmulcsr'.\n  Possible C/C++ prototypes are:\n    csrelmulcsr<(float)>(int const,int const,int const [],int const [],float const [],int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    csrelmulcsr<(double)>(int const,int const,int const [],int const [],double const [],int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    csrelmulcsr<(long double)>(int const,int const,int const [],int const [],long double const [],int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    csrelmulcsr<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    csrelmulcsr<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    csrelmulcsr<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -17454,12 +17516,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscelmulcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscelmulcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -17509,7 +17571,6 @@
     arg8 = (float*) array8->data;
   }
   cscelmulcsc<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,(int const (*))arg6,(int const (*))arg7,(float const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -17632,12 +17693,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscelmulcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscelmulcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -17687,7 +17748,6 @@
     arg8 = (double*) array8->data;
   }
   cscelmulcsc<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -17810,12 +17870,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscelmulcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscelmulcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -17865,7 +17925,6 @@
     arg8 = (long double*) array8->data;
   }
   cscelmulcsc<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,(int const (*))arg6,(int const (*))arg7,(long double const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -17988,12 +18047,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscelmulcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscelmulcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -18043,7 +18102,6 @@
     arg8 = (npy_cfloat*) array8->data;
   }
   cscelmulcsc<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cfloat const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -18166,12 +18224,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscelmulcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscelmulcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -18221,7 +18279,6 @@
     arg8 = (npy_cdouble*) array8->data;
   }
   cscelmulcsc<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_cdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -18344,12 +18401,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "cscelmulcsc" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "cscelmulcsc" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -18399,7 +18456,6 @@
     arg8 = (npy_clongdouble*) array8->data;
   }
   cscelmulcsc<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,(int const (*))arg6,(int const (*))arg7,(npy_clongdouble const (*))arg8,arg9,arg10,arg11);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg9)->size(); 
@@ -18752,7 +18808,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'cscelmulcsc'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cscelmulcsc'.\n  Possible C/C++ prototypes are:\n    cscelmulcsc<(float)>(int const,int const,int const [],int const [],float const [],int const [],int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    cscelmulcsc<(double)>(int const,int const,int const [],int const [],double const [],int const [],int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    cscelmulcsc<(long double)>(int const,int const,int const [],int const [],long double const [],int const [],int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    cscelmulcsc<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],int const [],int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    cscelmulcsc<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],int const [],int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    cscelmulcsc<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],int const [],int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -18803,17 +18859,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "spdiags" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "spdiags" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "spdiags" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -18831,7 +18887,6 @@
     arg5 = (float*) array5->data;
   }
   spdiags<float >(arg1,arg2,arg3,(int const (*))arg4,(float const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -18918,17 +18973,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "spdiags" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "spdiags" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "spdiags" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -18946,7 +19001,6 @@
     arg5 = (double*) array5->data;
   }
   spdiags<double >(arg1,arg2,arg3,(int const (*))arg4,(double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -19033,17 +19087,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "spdiags" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "spdiags" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "spdiags" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -19061,7 +19115,6 @@
     arg5 = (long double*) array5->data;
   }
   spdiags<long double >(arg1,arg2,arg3,(int const (*))arg4,(long double const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -19148,17 +19201,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "spdiags" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "spdiags" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "spdiags" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -19176,7 +19229,6 @@
     arg5 = (npy_cfloat*) array5->data;
   }
   spdiags<npy_cfloat >(arg1,arg2,arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -19263,17 +19315,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "spdiags" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "spdiags" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "spdiags" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -19291,7 +19343,6 @@
     arg5 = (npy_cdouble*) array5->data;
   }
   spdiags<npy_cdouble >(arg1,arg2,arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -19378,17 +19429,17 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "spdiags" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "spdiags" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   ecode3 = SWIG_AsVal_int(obj2, &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "spdiags" "', argument " "3"" of type '" "int""'");
   } 
-  arg3 = static_cast<int >(val3);
+  arg3 = static_cast< int >(val3);
   {
     int size[1] = {
       -1
@@ -19401,9 +19452,8 @@
   if (!SWIG_IsOK(res5)) {
     SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "spdiags" "', argument " "5"" of type '" "npy_clongdouble const []""'"); 
   } 
-  arg5 = reinterpret_cast<npy_clongdouble * >(argp5);
+  arg5 = reinterpret_cast< npy_clongdouble * >(argp5);
   spdiags<npy_clongdouble >(arg1,arg2,arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,arg6,arg7,arg8);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg6)->size(); 
@@ -19642,7 +19692,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'spdiags'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'spdiags'.\n  Possible C/C++ prototypes are:\n    spdiags<(float)>(int const,int const,int const,int const [],float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    spdiags<(double)>(int const,int const,int const,int const [],double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    spdiags<(long double)>(int const,int const,int const,int const [],long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    spdiags<(npy_cfloat)>(int const,int const,int const,int const [],npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    spdiags<(npy_cdouble)>(int const,int const,int const,int const [],npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    spdiags<(npy_clongdouble)>(int const,int const,int const,int const [],npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -19678,12 +19728,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtodense" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtodense" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -19714,7 +19764,6 @@
     arg6 = (float*) temp6->data;
   }
   csrtodense<float >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(float const (*))arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     if (is_new_object3 && array3) Py_DECREF(array3);
@@ -19771,12 +19820,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtodense" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtodense" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -19807,7 +19856,6 @@
     arg6 = (double*) temp6->data;
   }
   csrtodense<double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(double const (*))arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     if (is_new_object3 && array3) Py_DECREF(array3);
@@ -19864,12 +19912,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtodense" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtodense" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -19900,7 +19948,6 @@
     arg6 = (long double*) temp6->data;
   }
   csrtodense<long double >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(long double const (*))arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     if (is_new_object3 && array3) Py_DECREF(array3);
@@ -19957,12 +20004,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtodense" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtodense" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -19993,7 +20040,6 @@
     arg6 = (npy_cfloat*) temp6->data;
   }
   csrtodense<npy_cfloat >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cfloat const (*))arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     if (is_new_object3 && array3) Py_DECREF(array3);
@@ -20050,12 +20096,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtodense" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtodense" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -20086,7 +20132,6 @@
     arg6 = (npy_cdouble*) temp6->data;
   }
   csrtodense<npy_cdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_cdouble const (*))arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     if (is_new_object3 && array3) Py_DECREF(array3);
@@ -20144,12 +20189,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csrtodense" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csrtodense" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[1] = {
       -1
@@ -20178,9 +20223,8 @@
   if (!SWIG_IsOK(res6)) {
     SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csrtodense" "', argument " "6"" of type '" "npy_clongdouble []""'"); 
   } 
-  arg6 = reinterpret_cast<npy_clongdouble * >(argp6);
+  arg6 = reinterpret_cast< npy_clongdouble * >(argp6);
   csrtodense<npy_clongdouble >(arg1,arg2,(int const (*))arg3,(int const (*))arg4,(npy_clongdouble const (*))arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     if (is_new_object3 && array3) Py_DECREF(array3);
@@ -20434,7 +20478,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'csrtodense'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csrtodense'.\n  Possible C/C++ prototypes are:\n    csrtodense<(float)>(int const,int const,int const [],int const [],float const [],float [])\n    csrtodense<(double)>(int const,int const,int const [],int const [],double const [],double [])\n    csrtodense<(long double)>(int const,int const,int const [],int const [],long double const [],long double [])\n    csrtodense<(npy_cfloat)>(int const,int const,int const [],int const [],npy_cfloat const [],npy_cfloat [])\n    csrtodense<(npy_cdouble)>(int const,int const,int const [],int const [],npy_cdouble const [],npy_cdouble [])\n    csrtodense<(npy_clongdouble)>(int const,int const,int const [],int const [],npy_clongdouble const [],npy_clongdouble [])\n");
   return NULL;
 }
 
@@ -20477,12 +20521,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "densetocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "densetocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[2] = {
       -1,-1
@@ -20492,7 +20536,6 @@
     arg3 = (float*) array3->data;
   }
   densetocsr<float >(arg1,arg2,(float const (*))arg3,arg4,arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg4)->size(); 
@@ -20565,12 +20608,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "densetocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "densetocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[2] = {
       -1,-1
@@ -20580,7 +20623,6 @@
     arg3 = (double*) array3->data;
   }
   densetocsr<double >(arg1,arg2,(double const (*))arg3,arg4,arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg4)->size(); 
@@ -20653,12 +20695,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "densetocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "densetocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[2] = {
       -1,-1
@@ -20668,7 +20710,6 @@
     arg3 = (long double*) array3->data;
   }
   densetocsr<long double >(arg1,arg2,(long double const (*))arg3,arg4,arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg4)->size(); 
@@ -20741,12 +20782,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "densetocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "densetocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[2] = {
       -1,-1
@@ -20756,7 +20797,6 @@
     arg3 = (npy_cfloat*) array3->data;
   }
   densetocsr<npy_cfloat >(arg1,arg2,(npy_cfloat const (*))arg3,arg4,arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg4)->size(); 
@@ -20829,12 +20869,12 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "densetocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "densetocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   {
     int size[2] = {
       -1,-1
@@ -20844,7 +20884,6 @@
     arg3 = (npy_cdouble*) array3->data;
   }
   densetocsr<npy_cdouble >(arg1,arg2,(npy_cdouble const (*))arg3,arg4,arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg4)->size(); 
@@ -20917,19 +20956,18 @@
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "densetocsr" "', argument " "1"" of type '" "int""'");
   } 
-  arg1 = static_cast<int >(val1);
+  arg1 = static_cast< int >(val1);
   ecode2 = SWIG_AsVal_int(obj1, &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "densetocsr" "', argument " "2"" of type '" "int""'");
   } 
-  arg2 = static_cast<int >(val2);
+  arg2 = static_cast< int >(val2);
   res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_npy_clongdouble, 0 |  0 );
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "densetocsr" "', argument " "3"" of type '" "npy_clongdouble const []""'"); 
   } 
-  arg3 = reinterpret_cast<npy_clongdouble * >(argp3);
+  arg3 = reinterpret_cast< npy_clongdouble * >(argp3);
   densetocsr<npy_clongdouble >(arg1,arg2,(npy_clongdouble const (*))arg3,arg4,arg5,arg6);
-  
   resultobj = SWIG_Py_Void();
   {
     int length = (arg4)->size(); 
@@ -21096,7 +21134,7 @@
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"No matching function for overloaded 'densetocsr'");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'densetocsr'.\n  Possible C/C++ prototypes are:\n    densetocsr<(float)>(int const,int const,float const [],std::vector<int > *,std::vector<int > *,std::vector<float > *)\n    densetocsr<(double)>(int const,int const,double const [],std::vector<int > *,std::vector<int > *,std::vector<double > *)\n    densetocsr<(long double)>(int const,int const,long double const [],std::vector<int > *,std::vector<int > *,std::vector<long double > *)\n    densetocsr<(npy_cfloat)>(int const,int const,npy_cfloat const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cfloat > *)\n    densetocsr<(npy_cdouble)>(int const,int const,npy_cdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_cdouble > *)\n    densetocsr<(npy_clongdouble)>(int const,int const,npy_clongdouble const [],std::vector<int > *,std::vector<int > *,std::vector<npy_clongdouble > *)\n");
   return NULL;
 }
 
@@ -21178,7 +21216,7 @@
 #ifdef __cplusplus
 }
 #endif
-/*************************************************************************
+/* -----------------------------------------------------------------------------
  * Type initialization:
  * This problem is tough by the requirement that no dynamic 
  * memory is used. Also, since swig_type_info structures store pointers to 
@@ -21190,9 +21228,9 @@
  * swig_module, and does all the lookup, filling in the swig_module.types
  * array with the correct data and linking the correct swig_cast_info
  * structures together.
-
+ *
  * The generated swig_type_info structures are assigned staticly to an initial 
- * array. We just loop though that array, and handle each type individually.
+ * array. We just loop through that array, and handle each type individually.
  * First we lookup if this type has been already loaded, and if so, use the
  * loaded structure instead of the generated one. Then we have to fill in the
  * cast linked list. The cast data is initially stored in something like a
@@ -21204,7 +21242,7 @@
  * we find the array of casts associated with the type, and loop through it 
  * adding the casts to the list. The one last trick we need to do is making
  * sure the type pointer in the swig_cast_info struct is correct.
-
+ *
  * First off, we lookup the cast->type name to see if it is already loaded. 
  * There are three cases to handle:
  *  1) If the cast->type has already been loaded AND the type we are adding
@@ -21217,7 +21255,7 @@
  *  3) Finally, if cast->type has not already been loaded, then we add that
  *     swig_cast_info to the linked list (because the cast->type) pointer will
  *     be correct.
-**/
+ * ----------------------------------------------------------------------------- */
 
 #ifdef __cplusplus
 extern "C" {
@@ -21230,30 +21268,47 @@
 #define SWIGRUNTIME_DEBUG
 #endif
 
+
 SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
-  swig_module_info *module_head;
-  static int init_run = 0;
+  swig_module_info *module_head, *iter;
+  int found;
   
   clientdata = clientdata;
   
-  if (init_run) return;
-  init_run = 1;
+  /* check to see if the circular list has been setup, if not, set it up */
+  if (swig_module.next==0) {
+    /* Initialize the swig_module */
+    swig_module.type_initial = swig_type_initial;
+    swig_module.cast_initial = swig_cast_initial;
+    swig_module.next = &swig_module;
+  }
   
-  /* Initialize the swig_module */
-  swig_module.type_initial = swig_type_initial;
-  swig_module.cast_initial = swig_cast_initial;
-  
   /* Try and load any already created modules */
   module_head = SWIG_GetModule(clientdata);
-  if (module_head) {
+  if (!module_head) {
+    /* This is the first module loaded for this interpreter */
+    /* so set the swig module into the interpreter */
+    SWIG_SetModule(clientdata, &swig_module);
+    module_head = &swig_module;
+  } else {
+    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
+    found=0;
+    iter=module_head;
+    do {
+      if (iter==&swig_module) {
+        found=1;
+        break;
+      }
+      iter=iter->next;
+    } while (iter!= module_head);
+    
+    /* if the is found in the list, then all is done and we may leave */
+    if (found) return;
+    /* otherwise we must add out module into the list */
     swig_module.next = module_head->next;
     module_head->next = &swig_module;
-  } else {
-    /* This is the first module loaded */
-    swig_module.next = &swig_module;
-    SWIG_SetModule(clientdata, &swig_module);
   }
   
   /* Now work on filling in swig_module.types */
@@ -21566,7 +21621,7 @@
   }
   
   SWIGINTERN PyObject *
-  SWIG_globals() {
+  SWIG_globals(void) {
     static PyObject *_SWIG_globals = 0; 
     if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
     return _SWIG_globals;
@@ -21611,11 +21666,11 @@
     swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
-      char *c = methods[i].ml_doc;
+      const char *c = methods[i].ml_doc;
       if (c && (c = strstr(c, "swig_ptr: "))) {
         int j;
         swig_const_info *ci = 0;
-        char *name = c + 10;
+        const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
               strlen(const_table[j].name)) == 0) {



More information about the Scipy-svn mailing list