[Scipy-svn] r4546 - in branches: . Interpolate1D Interpolate1D/build Interpolate1D/build/lib.win32-2.5 Interpolate1D/build/src.win32-2.5 Interpolate1D/build/temp.win32-2.5 Interpolate1D/build/temp.win32-2.5/Release Interpolate1D/build/temp.win32-2.5/Release/build

scipy-svn@scip... scipy-svn@scip...
Wed Jul 16 17:08:53 CDT 2008


Author: fcady
Date: 2008-07-16 17:08:51 -0500 (Wed, 16 Jul 2008)
New Revision: 4546

Added:
   branches/Interpolate1D/
   branches/Interpolate1D/build/
   branches/Interpolate1D/build/lib.win32-2.5/
   branches/Interpolate1D/build/lib.win32-2.5/_interpolate.pyd
   branches/Interpolate1D/build/src.win32-2.5/
   branches/Interpolate1D/build/src.win32-2.5/dfitpack-f2pywrappers.f
   branches/Interpolate1D/build/src.win32-2.5/dfitpackmodule.c
   branches/Interpolate1D/build/src.win32-2.5/fitpack.pyf
   branches/Interpolate1D/build/src.win32-2.5/fortranobject.c
   branches/Interpolate1D/build/src.win32-2.5/fortranobject.h
   branches/Interpolate1D/build/temp.win32-2.5/
   branches/Interpolate1D/build/temp.win32-2.5/Release/
   branches/Interpolate1D/build/temp.win32-2.5/Release/build/
   branches/Interpolate1D/build/temp.win32-2.5/Release/build/src.win32-2.5/
   branches/Interpolate1D/dfitpack.py
   branches/Interpolate1D/dfitpack.pyd
Removed:
   branches/interpolate2/
Log:
wrapped most functionality of enthought.interpolate in _interpolate.c_module
wrapper most functionality of scipy.interpolate in fitpack_module
combined functionalities in Interpolate1D module, on which I am currently working.

still VERY much a work in progress.  But code works for basic purposes, and
there is some unit testing included.

Added: branches/Interpolate1D/build/lib.win32-2.5/_interpolate.pyd
===================================================================
(Binary files differ)


Property changes on: branches/Interpolate1D/build/lib.win32-2.5/_interpolate.pyd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/Interpolate1D/build/src.win32-2.5/dfitpack-f2pywrappers.f
===================================================================
--- branches/Interpolate1D/build/src.win32-2.5/dfitpack-f2pywrappers.f	2008-07-16 00:26:23 UTC (rev 4545)
+++ branches/Interpolate1D/build/src.win32-2.5/dfitpack-f2pywrappers.f	2008-07-16 22:08:51 UTC (rev 4546)
@@ -0,0 +1,39 @@
+C     -*- fortran -*-
+C     This file is autogenerated with f2py (version:2_4422)
+C     It contains Fortran 77 wrappers to fortran functions.
+
+      subroutine f2pywrapsplint (splintf2pywrap, t, n, c, k, a, b,
+     & wrk)
+      external splint
+      integer n
+      integer k
+      real*8 a
+      real*8 b
+      real*8 t(n)
+      real*8 c(n)
+      real*8 wrk(n)
+      real*8 splintf2pywrap, splint
+      splintf2pywrap = splint(t, n, c, k, a, b, wrk)
+      end
+
+
+      subroutine f2pywrapdblint (dblintf2pywrap, tx, nx, ty, ny, c
+     &, kx, ky, xb, xe, yb, ye, wrk)
+      external dblint
+      integer nx
+      integer ny
+      integer kx
+      integer ky
+      real*8 xb
+      real*8 xe
+      real*8 yb
+      real*8 ye
+      real*8 tx(nx)
+      real*8 ty(ny)
+      real*8 c((nx-kx-1)*(ny-ky-1))
+      real*8 wrk(nx+ny-kx-ky-2)
+      real*8 dblintf2pywrap, dblint
+      dblintf2pywrap = dblint(tx, nx, ty, ny, c, kx, ky, xb, xe, y
+     &b, ye, wrk)
+      end
+

Added: branches/Interpolate1D/build/src.win32-2.5/dfitpackmodule.c
===================================================================
--- branches/Interpolate1D/build/src.win32-2.5/dfitpackmodule.c	2008-07-16 00:26:23 UTC (rev 4545)
+++ branches/Interpolate1D/build/src.win32-2.5/dfitpackmodule.c	2008-07-16 22:08:51 UTC (rev 4546)
@@ -0,0 +1,4809 @@
+/* File: dfitpackmodule.c
+ * This file is auto-generated with f2py (version:2_4422).
+ * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition,
+ * written by Pearu Peterson <pearu@cens.ioc.ee>.
+ * See http://cens.ioc.ee/projects/f2py2e/
+ * Generation date: Tue Jul 15 14:23:30 2008
+ * $Revision:$
+ * $Date:$
+ * Do not edit this file directly unless you know what you are doing!!!
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*********************** See f2py2e/cfuncs.py: includes ***********************/
+#include "Python.h"
+#include "fortranobject.h"
+#include <math.h>
+
+/**************** See f2py2e/rules.py: mod_rules['modulebody'] ****************/
+static PyObject *dfitpack_error;
+static PyObject *dfitpack_module;
+
+/*********************** See f2py2e/cfuncs.py: typedefs ***********************/
+/*need_typedefs*/
+
+/****************** See f2py2e/cfuncs.py: typedefs_generated ******************/
+/*need_typedefs_generated*/
+
+/********************** See f2py2e/cfuncs.py: cppmacros **********************/
+#if defined(PREPEND_FORTRAN)
+#if defined(NO_APPEND_FORTRAN)
+#if defined(UPPERCASE_FORTRAN)
+#define F_FUNC(f,F) _##F
+#else
+#define F_FUNC(f,F) _##f
+#endif
+#else
+#if defined(UPPERCASE_FORTRAN)
+#define F_FUNC(f,F) _##F##_
+#else
+#define F_FUNC(f,F) _##f##_
+#endif
+#endif
+#else
+#if defined(NO_APPEND_FORTRAN)
+#if defined(UPPERCASE_FORTRAN)
+#define F_FUNC(f,F) F
+#else
+#define F_FUNC(f,F) f
+#endif
+#else
+#if defined(UPPERCASE_FORTRAN)
+#define F_FUNC(f,F) F##_
+#else
+#define F_FUNC(f,F) f##_
+#endif
+#endif
+#endif
+#if defined(UNDERSCORE_G77)
+#define F_FUNC_US(f,F) F_FUNC(f##_,F##_)
+#else
+#define F_FUNC_US(f,F) F_FUNC(f,F)
+#endif
+
+#define rank(var) var ## _Rank
+#define shape(var,dim) var ## _Dims[dim]
+#define old_rank(var) (((PyArrayObject *)(capi_ ## var ## _tmp))->nd)
+#define old_shape(var,dim) (((PyArrayObject *)(capi_ ## var ## _tmp))->dimensions[dim])
+#define fshape(var,dim) shape(var,rank(var)-dim-1)
+#define len(var) shape(var,0)
+#define flen(var) fshape(var,0)
+#define size(var) PyArray_SIZE((PyArrayObject *)(capi_ ## var ## _tmp))
+/* #define index(i) capi_i ## i */
+#define slen(var) capi_ ## var ## _len
+
+#define CHECKARRAY(check,tcheck,name) \
+  if (!(check)) {\
+    PyErr_SetString(dfitpack_error,"("tcheck") failed for "name);\
+    /*goto capi_fail;*/\
+  } else 
+#ifdef DEBUGCFUNCS
+#define CFUNCSMESS(mess) fprintf(stderr,"debug-capi:"mess);
+#define CFUNCSMESSPY(mess,obj) CFUNCSMESS(mess) \
+  PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\
+  fprintf(stderr,"\n");
+#else
+#define CFUNCSMESS(mess)
+#define CFUNCSMESSPY(mess,obj)
+#endif
+
+#ifndef MAX
+#define MAX(a,b) ((a > b) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b) ((a < b) ? (a) : (b))
+#endif
+
+#define CHECKSCALAR(check,tcheck,name,show,var)\
+  if (!(check)) {\
+    PyErr_SetString(dfitpack_error,"("tcheck") failed for "name);\
+    fprintf(stderr,show"\n",var);\
+    /*goto capi_fail;*/\
+  } else 
+#if defined(PREPEND_FORTRAN)
+#if defined(NO_APPEND_FORTRAN)
+#if defined(UPPERCASE_FORTRAN)
+#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F
+#else
+#define F_WRAPPEDFUNC(f,F) _f2pywrap##f
+#endif
+#else
+#if defined(UPPERCASE_FORTRAN)
+#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F##_
+#else
+#define F_WRAPPEDFUNC(f,F) _f2pywrap##f##_
+#endif
+#endif
+#else
+#if defined(NO_APPEND_FORTRAN)
+#if defined(UPPERCASE_FORTRAN)
+#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F
+#else
+#define F_WRAPPEDFUNC(f,F) f2pywrap##f
+#endif
+#else
+#if defined(UPPERCASE_FORTRAN)
+#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F##_
+#else
+#define F_WRAPPEDFUNC(f,F) f2pywrap##f##_
+#endif
+#endif
+#endif
+#if defined(UNDERSCORE_G77)
+#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f##_,F##_)
+#else
+#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f,F)
+#endif
+
+
+/************************ See f2py2e/cfuncs.py: cfuncs ************************/
+static int int_from_pyobj(int* v,PyObject *obj,const char *errmess) {
+  PyObject* tmp = NULL;
+  if (PyInt_Check(obj)) {
+    *v = (int)PyInt_AS_LONG(obj);
+    return 1;
+  }
+  tmp = PyNumber_Int(obj);
+  if (tmp) {
+    *v = PyInt_AS_LONG(tmp);
+    Py_DECREF(tmp);
+    return 1;
+  }
+  if (PyComplex_Check(obj))
+    tmp = PyObject_GetAttrString(obj,"real");
+  else if (PyString_Check(obj))
+    /*pass*/;
+  else if (PySequence_Check(obj))
+    tmp = PySequence_GetItem(obj,0);
+  if (tmp) {
+    PyErr_Clear();
+    if (int_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;}
+    Py_DECREF(tmp);
+  }
+  {
+    PyObject* err = PyErr_Occurred();
+    if (err==NULL) err = dfitpack_error;
+    PyErr_SetString(err,errmess);
+  }
+  return 0;
+}
+
+static int double_from_pyobj(double* v,PyObject *obj,const char *errmess) {
+  PyObject* tmp = NULL;
+  if (PyFloat_Check(obj)) {
+#ifdef __sgi
+    *v = PyFloat_AsDouble(obj);
+#else
+    *v = PyFloat_AS_DOUBLE(obj);
+#endif
+    return 1;
+  }
+  tmp = PyNumber_Float(obj);
+  if (tmp) {
+#ifdef __sgi
+    *v = PyFloat_AsDouble(tmp);
+#else
+    *v = PyFloat_AS_DOUBLE(tmp);
+#endif
+    Py_DECREF(tmp);
+    return 1;
+  }
+  if (PyComplex_Check(obj))
+    tmp = PyObject_GetAttrString(obj,"real");
+  else if (PyString_Check(obj))
+    /*pass*/;
+  else if (PySequence_Check(obj))
+    tmp = PySequence_GetItem(obj,0);
+  if (tmp) {
+    PyErr_Clear();
+    if (double_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;}
+    Py_DECREF(tmp);
+  }
+  {
+    PyObject* err = PyErr_Occurred();
+    if (err==NULL) err = dfitpack_error;
+    PyErr_SetString(err,errmess);
+  }
+  return 0;
+}
+
+static struct { int nd;npy_intp *d;int *i,*i_tr,tr; } forcombcache;
+static int initforcomb(npy_intp *dims,int nd,int tr) {
+  int k;
+  if (dims==NULL) return 0;
+  if (nd<0) return 0;
+  forcombcache.nd = nd;
+  forcombcache.d = dims;
+  forcombcache.tr = tr;
+  if ((forcombcache.i = (int *)malloc(sizeof(int)*nd))==NULL) return 0;
+  if ((forcombcache.i_tr = (int *)malloc(sizeof(int)*nd))==NULL) return 0;
+  for (k=1;k<nd;k++) {
+    forcombcache.i[k] = forcombcache.i_tr[nd-k-1] = 0;
+  }
+  forcombcache.i[0] = forcombcache.i_tr[nd-1] = -1;
+  return 1;
+}
+static int *nextforcomb(void) {
+  int j,*i,*i_tr,k;
+  int nd=forcombcache.nd;
+  if ((i=forcombcache.i) == NULL) return NULL;
+  if ((i_tr=forcombcache.i_tr) == NULL) return NULL;
+  if (forcombcache.d == NULL) return NULL;
+  i[0]++;
+  if (i[0]==forcombcache.d[0]) {
+    j=1;
+    while ((j<nd) && (i[j]==forcombcache.d[j]-1)) j++;
+    if (j==nd) {
+      free(i);
+      free(i_tr);
+      return NULL;
+    }
+    for (k=0;k<j;k++) i[k] = i_tr[nd-k-1] = 0;
+    i[j]++;
+    i_tr[nd-j-1]++;
+  } else
+    i_tr[nd-1]++;
+  if (forcombcache.tr) return i_tr;
+  return i;
+}
+
+/********************* See f2py2e/cfuncs.py: userincludes *********************/
+/*need_userincludes*/
+
+/********************* See f2py2e/capi_rules.py: usercode *********************/
+  /* start usercode multiline (0) */
+
+
+static double dmax(double* seq,int len) {
+  double val;
+  int i;
+  if (len<1)
+    return -1e308;
+  val = seq[0];
+  for(i=1;i<len;++i)
+    if (seq[i]>val) val = seq[i];
+  return val;
+}
+static double dmin(double* seq,int len) {
+  double val;
+  int i;
+  if (len<1)
+    return 1e308;
+  val = seq[0];
+  for(i=1;i<len;++i)
+    if (seq[i]<val) val = seq[i];
+  return val;
+}
+static double calc_b(double* x,int m,double* tx,int nx) {
+  double val1 = dmin(x,m);
+  double val2 = dmin(tx,nx);
+  if (val2>val1) return val1;
+  val1 = dmax(tx,nx);
+  return val2 - (val1-val2)/nx;
+}
+static double calc_e(double* x,int m,double* tx,int nx) {
+  double val1 = dmax(x,m);
+  double val2 = dmax(tx,nx);
+  if (val2<val1) return val1;
+  val1 = dmin(tx,nx);
+  return val2 + (val2-val1)/nx;
+}
+static int imax(int i1,int i2) {
+  return MAX(i1,i2);
+}
+
+static int calc_surfit_lwrk1(int m, int kx, int ky, int nxest, int nyest) {
+ int u = nxest-kx-1;
+ int v = nyest-ky-1;
+ int km = MAX(kx,ky)+1;
+ int ne = MAX(nxest,nyest);
+ int bx = kx*v+ky+1;
+ int by = ky*u+kx+1;
+ int b1,b2;
+ if (bx<=by) {b1=bx;b2=bx+v-ky;}
+ else {b1=by;b2=by+u-kx;}
+ return u*v*(2+b1+b2)+2*(u+v+km*(m+ne)+ne-kx-ky)+b2+1;
+}
+static int calc_surfit_lwrk2(int m, int kx, int ky, int nxest, int nyest) {
+ int u = nxest-kx-1;
+ int v = nyest-ky-1;
+ int bx = kx*v+ky+1;
+ int by = ky*u+kx+1;
+ int b2 = (bx<=by?bx+v-ky:by+u-kx);
+ return u*v*(b2+1)+b2;
+}
+
+static int calc_regrid_lwrk(int mx, int my, int kx, int ky, 
+                            int nxest, int nyest) {
+ int u = MAX(my, nxest);
+ return 4+nxest*(my+2*kx+5)+nyest*(2*ky+5)+mx*(kx+1)+my*(ky+1)+u;
+}
+
+  /* end multiline (0)*/
+
+/* See f2py2e/rules.py */
+extern void F_FUNC(splev,SPLEV)(double*,int*,double*,int*,double*,double*,int*,int*);
+extern void F_FUNC(splder,SPLDER)(double*,int*,double*,int*,int*,double*,double*,int*,double*,int*);
+extern void F_WRAPPEDFUNC(splint,SPLINT)(double*,double*,int*,double*,int*,double*,double*,double*);
+extern void F_FUNC(sproot,SPROOT)(double*,int*,double*,double*,int*,int*,int*);
+extern void F_FUNC(spalde,SPALDE)(double*,int*,double*,int*,double*,double*,int*);
+extern void F_FUNC(curfit,CURFIT)(int*,int*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,double*,int*,int*,int*);
+extern void F_FUNC(percur,PERCUR)(int*,int*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,double*,int*,int*,int*);
+extern void F_FUNC(parcur,PARCUR)(int*,int*,int*,int*,double*,int*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,double*,double*,double*,int*,int*,int*);
+extern void F_FUNC(fpcurf,FPCURF)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*);
+extern void F_FUNC(fpcurf,FPCURF)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*);
+extern void F_FUNC(fpcurf,FPCURF)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*);
+extern void F_FUNC(bispev,BISPEV)(double*,int*,double*,int*,double*,int*,int*,double*,int*,double*,int*,double*,double*,int*,int*,int*,int*);
+extern void F_FUNC(surfit,SURFIT)(int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*,double*,int*,int*,int*,double*,int*,double*,int*,double*,double*,double*,double*,int*,double*,int*,int*,int*,int*);
+extern void F_FUNC(surfit,SURFIT)(int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*,double*,int*,int*,int*,double*,int*,double*,int*,double*,double*,double*,double*,int*,double*,int*,int*,int*,int*);
+extern void F_FUNC(regrid,REGRID)(int*,int*,double*,int*,double*,double*,double*,double*,double*,double*,int*,int*,double*,int*,int*,int*,double*,int*,double*,double*,double*,double*,int*,int*,int*,int*);
+extern void F_WRAPPEDFUNC(dblint,DBLINT)(double*,double*,int*,double*,int*,double*,int*,int*,double*,double*,double*,double*,double*);
+/*eof externroutines*/
+
+/******************** See f2py2e/capi_rules.py: usercode1 ********************/
+
+
+/******************* See f2py2e/cb_rules.py: buildcallback *******************/
+/*need_callbacks*/
+
+/*********************** See f2py2e/rules.py: buildapi ***********************/
+
+/*********************************** splev ***********************************/
+static char doc_f2py_rout_dfitpack_splev[] = "\
+Function signature:\n\
+  y = splev(t,c,k,x)\n\
+Required arguments:\n"
+"  t : input rank-1 array('d') with bounds (n)\n"
+"  c : input rank-1 array('d') with bounds (n)\n"
+"  k : input int\n"
+"  x : input rank-1 array('d') with bounds (m)\n"
+"Return objects:\n"
+"  y : rank-1 array('d') with bounds (m)";
+/* extern void F_FUNC(splev,SPLEV)(double*,int*,double*,int*,double*,double*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_splev(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(double*,int*,double*,int*,double*,double*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  int n = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  PyObject *c_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  int m = 0;
+  int ier = 0;
+  static char *capi_kwlist[] = {"t","c","k","x",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOO|:dfitpack.splev",\
+    capi_kwlist,&t_capi,&c_capi,&k_capi,&x_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable k */
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.splev() 3rd argument (k) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable ier */
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_IN;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `t' of dfitpack.splev to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 4th argument `x' of dfitpack.splev to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable m */
+  m = len(x);
+  /* Processing variable n */
+  n = len(t);
+  /* Processing variable y */
+  y_Dims[0]=m;
+  capi_y_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,Py_None);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `y' of dfitpack.splev to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  /* Processing variable c */
+  c_Dims[0]=n;
+  capi_c_intent |= F2PY_INTENT_IN;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,c_capi);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `c' of dfitpack.splev to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  CHECKARRAY(len(c)==n,"len(c)==n","2nd argument c") {
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(t,&n,c,&k,x,y,&m,&ier);
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("N",capi_y_tmp);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+  } /*CHECKARRAY(len(c)==n)*/
+  if((PyObject *)capi_c_tmp!=c_capi) {
+    Py_XDECREF(capi_c_tmp); }
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  }  /*if (capi_y_tmp == NULL) ... else of y*/
+  /* End of cleaning variable y */
+  /* End of cleaning variable n */
+  /* End of cleaning variable m */
+  if((PyObject *)capi_x_tmp!=x_capi) {
+    Py_XDECREF(capi_x_tmp); }
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  /* End of cleaning variable ier */
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************** end of splev ********************************/
+
+/*********************************** splder ***********************************/
+static char doc_f2py_rout_dfitpack_splder[] = "\
+Function signature:\n\
+  y = splder(t,c,k,x,[nu])\n\
+Required arguments:\n"
+"  t : input rank-1 array('d') with bounds (n)\n"
+"  c : input rank-1 array('d') with bounds (n)\n"
+"  k : input int\n"
+"  x : input rank-1 array('d') with bounds (m)\n"
+"Optional arguments:\n"
+"  nu := 1 input int\n"
+"Return objects:\n"
+"  y : rank-1 array('d') with bounds (m)";
+/* extern void F_FUNC(splder,SPLDER)(double*,int*,double*,int*,int*,double*,double*,int*,double*,int*); */
+static PyObject *f2py_rout_dfitpack_splder(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(double*,int*,double*,int*,int*,double*,double*,int*,double*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  int n = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  PyObject *c_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  int nu = 0;
+  PyObject *nu_capi = Py_None;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  int m = 0;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  int ier = 0;
+  static char *capi_kwlist[] = {"t","c","k","x","nu",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOO|O:dfitpack.splder",\
+    capi_kwlist,&t_capi,&c_capi,&k_capi,&x_capi,&nu_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable k */
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.splder() 3rd argument (k) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable ier */
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_IN;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `t' of dfitpack.splder to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 4th argument `x' of dfitpack.splder to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable m */
+  m = len(x);
+  /* Processing variable n */
+  n = len(t);
+  /* Processing variable y */
+  y_Dims[0]=m;
+  capi_y_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,Py_None);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `y' of dfitpack.splder to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  /* Processing variable nu */
+  if (nu_capi == Py_None) nu = 1; else
+    f2py_success = int_from_pyobj(&nu,nu_capi,"dfitpack.splder() 1st keyword (nu) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(0<=nu && nu<=k,"0<=nu && nu<=k","1st keyword nu","splder:nu=%d",nu) {
+  /* Processing variable c */
+  c_Dims[0]=n;
+  capi_c_intent |= F2PY_INTENT_IN;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,c_capi);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `c' of dfitpack.splder to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  CHECKARRAY(len(c)==n,"len(c)==n","2nd argument c") {
+  /* Processing variable wrk */
+  wrk_Dims[0]=n;
+  capi_wrk_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_HIDE;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,Py_None);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `wrk' of dfitpack.splder to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(t,&n,c,&k,&nu,x,y,&m,wrk,&ier);
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("N",capi_y_tmp);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+    Py_XDECREF(capi_wrk_tmp);
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  } /*CHECKARRAY(len(c)==n)*/
+  if((PyObject *)capi_c_tmp!=c_capi) {
+    Py_XDECREF(capi_c_tmp); }
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  } /*CHECKSCALAR(0<=nu && nu<=k)*/
+  } /*if (f2py_success) of nu*/
+  /* End of cleaning variable nu */
+  }  /*if (capi_y_tmp == NULL) ... else of y*/
+  /* End of cleaning variable y */
+  /* End of cleaning variable n */
+  /* End of cleaning variable m */
+  if((PyObject *)capi_x_tmp!=x_capi) {
+    Py_XDECREF(capi_x_tmp); }
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  /* End of cleaning variable ier */
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of splder *******************************/
+
+/*********************************** splint ***********************************/
+static char doc_f2py_rout_dfitpack_splint[] = "\
+Function signature:\n\
+  splint = splint(t,c,k,a,b)\n\
+Required arguments:\n"
+"  t : input rank-1 array('d') with bounds (n)\n"
+"  c : input rank-1 array('d') with bounds (n)\n"
+"  k : input int\n"
+"  a : input float\n"
+"  b : input float\n"
+"Return objects:\n"
+"  splint : float";
+/* extern void F_WRAPPEDFUNC(splint,SPLINT)(double*,double*,int*,double*,int*,double*,double*,double*); */
+static PyObject *f2py_rout_dfitpack_splint(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(double*,double*,int*,double*,int*,double*,double*,double*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  double splint = 0;
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  int n = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  PyObject *c_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double a = 0;
+  PyObject *a_capi = Py_None;
+  double b = 0;
+  PyObject *b_capi = Py_None;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  static char *capi_kwlist[] = {"t","c","k","a","b",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOOO|:dfitpack.splint",\
+    capi_kwlist,&t_capi,&c_capi,&k_capi,&a_capi,&b_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable a */
+    f2py_success = double_from_pyobj(&a,a_capi,"dfitpack.splint() 4th argument (a) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable b */
+    f2py_success = double_from_pyobj(&b,b_capi,"dfitpack.splint() 5th argument (b) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable k */
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.splint() 3rd argument (k) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable splint */
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_IN;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `t' of dfitpack.splint to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable n */
+  n = len(t);
+  /* Processing variable c */
+  c_Dims[0]=n;
+  capi_c_intent |= F2PY_INTENT_IN;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,c_capi);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `c' of dfitpack.splint to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  CHECKARRAY(len(c)==n,"len(c)==n","2nd argument c") {
+  /* Processing variable wrk */
+  wrk_Dims[0]=n;
+  capi_wrk_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_HIDE;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,Py_None);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `wrk' of dfitpack.splint to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+  (*f2py_func)(&splint,t,&n,c,&k,&a,&b,wrk);
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("d",splint);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+    Py_XDECREF(capi_wrk_tmp);
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  } /*CHECKARRAY(len(c)==n)*/
+  if((PyObject *)capi_c_tmp!=c_capi) {
+    Py_XDECREF(capi_c_tmp); }
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  /* End of cleaning variable n */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  /* End of cleaning variable splint */
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  } /*if (f2py_success) of b*/
+  /* End of cleaning variable b */
+  } /*if (f2py_success) of a*/
+  /* End of cleaning variable a */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of splint *******************************/
+
+/*********************************** sproot ***********************************/
+static char doc_f2py_rout_dfitpack_sproot[] = "\
+Function signature:\n\
+  zero,m,ier = sproot(t,c,[mest])\n\
+Required arguments:\n"
+"  t : input rank-1 array('d') with bounds (n)\n"
+"  c : input rank-1 array('d') with bounds (n)\n"
+"Optional arguments:\n"
+"  mest := 3*(n-7) input int\n"
+"Return objects:\n"
+"  zero : rank-1 array('d') with bounds (mest)\n"
+"  m : int\n"
+"  ier : int";
+/* extern void F_FUNC(sproot,SPROOT)(double*,int*,double*,double*,int*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_sproot(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(double*,int*,double*,double*,int*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  int n = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  PyObject *c_capi = Py_None;
+  double *zero = NULL;
+  npy_intp zero_Dims[1] = {-1};
+  const int zero_Rank = 1;
+  PyArrayObject *capi_zero_tmp = NULL;
+  int capi_zero_intent = 0;
+  int mest = 0;
+  PyObject *mest_capi = Py_None;
+  int m = 0;
+  int ier = 0;
+  static char *capi_kwlist[] = {"t","c","mest",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OO|O:dfitpack.sproot",\
+    capi_kwlist,&t_capi,&c_capi,&mest_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_IN;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `t' of dfitpack.sproot to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable ier */
+  /* Processing variable m */
+  /* Processing variable n */
+  n = len(t);
+  CHECKSCALAR(n>=8,"n>=8","hidden n","sproot:n=%d",n) {
+  /* Processing variable mest */
+  if (mest_capi == Py_None) mest = 3*(n-7); else
+    f2py_success = int_from_pyobj(&mest,mest_capi,"dfitpack.sproot() 1st keyword (mest) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable c */
+  c_Dims[0]=n;
+  capi_c_intent |= F2PY_INTENT_IN;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,c_capi);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `c' of dfitpack.sproot to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  CHECKARRAY(len(c)==n,"len(c)==n","2nd argument c") {
+  /* Processing variable zero */
+  zero_Dims[0]=mest;
+  capi_zero_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_zero_tmp = array_from_pyobj(PyArray_DOUBLE,zero_Dims,zero_Rank,capi_zero_intent,Py_None);
+  if (capi_zero_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `zero' of dfitpack.sproot to C/Fortran array" );
+  } else {
+    zero = (double *)(capi_zero_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(t,&n,c,zero,&mest,&m,&ier);
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("Nii",capi_zero_tmp,m,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+  }  /*if (capi_zero_tmp == NULL) ... else of zero*/
+  /* End of cleaning variable zero */
+  } /*CHECKARRAY(len(c)==n)*/
+  if((PyObject *)capi_c_tmp!=c_capi) {
+    Py_XDECREF(capi_c_tmp); }
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  } /*if (f2py_success) of mest*/
+  /* End of cleaning variable mest */
+  } /*CHECKSCALAR(n>=8)*/
+  /* End of cleaning variable n */
+  /* End of cleaning variable m */
+  /* End of cleaning variable ier */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of sproot *******************************/
+
+/*********************************** spalde ***********************************/
+static char doc_f2py_rout_dfitpack_spalde[] = "\
+Function signature:\n\
+  d,ier = spalde(t,c,k,x)\n\
+Required arguments:\n"
+"  t : input rank-1 array('d') with bounds (n)\n"
+"  c : input rank-1 array('d') with bounds (n)\n"
+"  k : input int\n"
+"  x : input float\n"
+"Return objects:\n"
+"  d : rank-1 array('d') with bounds (k + 1)\n"
+"  ier : int";
+/* extern void F_FUNC(spalde,SPALDE)(double*,int*,double*,int*,double*,double*,int*); */
+static PyObject *f2py_rout_dfitpack_spalde(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(double*,int*,double*,int*,double*,double*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  int n = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  PyObject *c_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double x = 0;
+  PyObject *x_capi = Py_None;
+  double *d = NULL;
+  npy_intp d_Dims[1] = {-1};
+  const int d_Rank = 1;
+  PyArrayObject *capi_d_tmp = NULL;
+  int capi_d_intent = 0;
+  int ier = 0;
+  static char *capi_kwlist[] = {"t","c","k","x",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOO|:dfitpack.spalde",\
+    capi_kwlist,&t_capi,&c_capi,&k_capi,&x_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_IN;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `t' of dfitpack.spalde to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable x */
+    f2py_success = double_from_pyobj(&x,x_capi,"dfitpack.spalde() 4th argument (x) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable k */
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.spalde() 3rd argument (k) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable ier */
+  /* Processing variable d */
+  d_Dims[0]=k + 1;
+  capi_d_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_d_tmp = array_from_pyobj(PyArray_DOUBLE,d_Dims,d_Rank,capi_d_intent,Py_None);
+  if (capi_d_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `d' of dfitpack.spalde to C/Fortran array" );
+  } else {
+    d = (double *)(capi_d_tmp->data);
+
+  /* Processing variable n */
+  n = len(t);
+  /* Processing variable c */
+  c_Dims[0]=n;
+  capi_c_intent |= F2PY_INTENT_IN;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,c_capi);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `c' of dfitpack.spalde to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  CHECKARRAY(len(c)==n,"len(c)==n","2nd argument c") {
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        {int k1=k+1; (*f2py_func)(t,&n,c,&k1,&x,d,&ier); };
+        /*(*f2py_func)(t,&n,c,&k,&x,d,&ier);*/
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("Ni",capi_d_tmp,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+  } /*CHECKARRAY(len(c)==n)*/
+  if((PyObject *)capi_c_tmp!=c_capi) {
+    Py_XDECREF(capi_c_tmp); }
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  /* End of cleaning variable n */
+  }  /*if (capi_d_tmp == NULL) ... else of d*/
+  /* End of cleaning variable d */
+  /* End of cleaning variable ier */
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  } /*if (f2py_success) of x*/
+  /* End of cleaning variable x */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of spalde *******************************/
+
+/*********************************** curfit ***********************************/
+static char doc_f2py_rout_dfitpack_curfit[] = "\
+Function signature:\n\
+  n,c,fp,ier = curfit(iopt,x,y,w,t,wrk,iwrk,[xb,xe,k,s])\n\
+Required arguments:\n"
+"  iopt : input int\n"
+"  x : input rank-1 array('d') with bounds (m)\n"
+"  y : input rank-1 array('d') with bounds (m)\n"
+"  w : input rank-1 array('d') with bounds (m)\n"
+"  t : in/output rank-1 array('d') with bounds (nest)\n"
+"  wrk : in/output rank-1 array('d') with bounds (lwrk)\n"
+"  iwrk : in/output rank-1 array('i') with bounds (nest)\n"
+"Optional arguments:\n"
+"  xb := x[0] input float\n"
+"  xe := x[m-1] input float\n"
+"  k := 3 input int\n"
+"  s := 0.0 input float\n"
+"Return objects:\n"
+"  n : int\n"
+"  c : rank-1 array('d') with bounds (n)\n"
+"  fp : float\n"
+"  ier : int";
+/* extern void F_FUNC(curfit,CURFIT)(int*,int*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,double*,int*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_curfit(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(int*,int*,double*,double*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,double*,int*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  int iopt = 0;
+  PyObject *iopt_capi = Py_None;
+  int m = 0;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  PyObject *y_capi = Py_None;
+  double *w = NULL;
+  npy_intp w_Dims[1] = {-1};
+  const int w_Rank = 1;
+  PyArrayObject *capi_w_tmp = NULL;
+  int capi_w_intent = 0;
+  PyObject *w_capi = Py_None;
+  double xb = 0;
+  PyObject *xb_capi = Py_None;
+  double xe = 0;
+  PyObject *xe_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double s = 0;
+  PyObject *s_capi = Py_None;
+  int nest = 0;
+  int n = 0;
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  double fp = 0;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  PyObject *wrk_capi = Py_None;
+  int lwrk = 0;
+  int *iwrk = NULL;
+  npy_intp iwrk_Dims[1] = {-1};
+  const int iwrk_Rank = 1;
+  PyArrayObject *capi_iwrk_tmp = NULL;
+  int capi_iwrk_intent = 0;
+  PyObject *iwrk_capi = Py_None;
+  int ier = 0;
+  static char *capi_kwlist[] = {"iopt","x","y","w","t","wrk","iwrk","xb","xe","k","s",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOOOOO|OOOO:dfitpack.curfit",\
+    capi_kwlist,&iopt_capi,&x_capi,&y_capi,&w_capi,&t_capi,&wrk_capi,&iwrk_capi,&xb_capi,&xe_capi,&k_capi,&s_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable fp */
+  /* Processing variable iopt */
+    f2py_success = int_from_pyobj(&iopt,iopt_capi,"dfitpack.curfit() 1st argument (iopt) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable k */
+  if (k_capi == Py_None) k = 3; else
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.curfit() 3rd keyword (k) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(1<=k && k <=5,"1<=k && k <=5","3rd keyword k","curfit:k=%d",k) {
+  /* Processing variable ier */
+  /* Processing variable wrk */
+  ;
+  capi_wrk_intent |= F2PY_INTENT_INOUT;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,wrk_capi);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 6th argument `wrk' of dfitpack.curfit to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+  /* Processing variable s */
+  if (s_capi == Py_None) s = 0.0; else
+    f2py_success = double_from_pyobj(&s,s_capi,"dfitpack.curfit() 4th keyword (s) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(s>=0.0,"s>=0.0","4th keyword s","curfit:s=%g",s) {
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_INOUT;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 5th argument `t' of dfitpack.curfit to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `x' of dfitpack.curfit to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable xb */
+  if (xb_capi == Py_None) xb = x[0]; else
+    f2py_success = double_from_pyobj(&xb,xb_capi,"dfitpack.curfit() 1st keyword (xb) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(xb<=x[0],"xb<=x[0]","1st keyword xb","curfit:xb=%g",xb) {
+  /* Processing variable nest */
+  nest = len(t);
+  /* Processing variable m */
+  m = len(x);
+  CHECKSCALAR(m>k,"m>k","hidden m","curfit:m=%d",m) {
+  /* Processing variable lwrk */
+  lwrk = len(wrk);
+  /* Processing variable n */
+  n = nest;
+  /* Processing variable w */
+  w_Dims[0]=m;
+  capi_w_intent |= F2PY_INTENT_IN;
+  capi_w_tmp = array_from_pyobj(PyArray_DOUBLE,w_Dims,w_Rank,capi_w_intent,w_capi);
+  if (capi_w_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 4th argument `w' of dfitpack.curfit to C/Fortran array" );
+  } else {
+    w = (double *)(capi_w_tmp->data);
+
+  CHECKARRAY(len(w)==m,"len(w)==m","4th argument w") {
+  /* Processing variable iwrk */
+  iwrk_Dims[0]=nest;
+  capi_iwrk_intent |= F2PY_INTENT_INOUT;
+  capi_iwrk_tmp = array_from_pyobj(PyArray_INT,iwrk_Dims,iwrk_Rank,capi_iwrk_intent,iwrk_capi);
+  if (capi_iwrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 7th argument `iwrk' of dfitpack.curfit to C/Fortran array" );
+  } else {
+    iwrk = (int *)(capi_iwrk_tmp->data);
+
+  /* Processing variable y */
+  y_Dims[0]=m;
+  capi_y_intent |= F2PY_INTENT_IN;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,y_capi);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 3rd argument `y' of dfitpack.curfit to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  CHECKARRAY(len(y)==m,"len(y)==m","3rd argument y") {
+  /* Processing variable xe */
+  if (xe_capi == Py_None) xe = x[m-1]; else
+    f2py_success = double_from_pyobj(&xe,xe_capi,"dfitpack.curfit() 2nd keyword (xe) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(xe>=x[m-1],"xe>=x[m-1]","2nd keyword xe","curfit:xe=%g",xe) {
+  /* Processing variable c */
+  c_Dims[0]=n;
+  capi_c_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,Py_None);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `c' of dfitpack.curfit to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(&iopt,&m,x,y,w,&xb,&xe,&k,&s,&nest,&n,t,c,&fp,wrk,&lwrk,iwrk,&ier);
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("iNdi",n,capi_c_tmp,fp,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  } /*CHECKSCALAR(xe>=x[m-1])*/
+  } /*if (f2py_success) of xe*/
+  /* End of cleaning variable xe */
+  } /*CHECKARRAY(len(y)==m)*/
+  if((PyObject *)capi_y_tmp!=y_capi) {
+    Py_XDECREF(capi_y_tmp); }
+  }  /*if (capi_y_tmp == NULL) ... else of y*/
+  /* End of cleaning variable y */
+  if((PyObject *)capi_iwrk_tmp!=iwrk_capi) {
+    Py_XDECREF(capi_iwrk_tmp); }
+  }  /*if (capi_iwrk_tmp == NULL) ... else of iwrk*/
+  /* End of cleaning variable iwrk */
+  } /*CHECKARRAY(len(w)==m)*/
+  if((PyObject *)capi_w_tmp!=w_capi) {
+    Py_XDECREF(capi_w_tmp); }
+  }  /*if (capi_w_tmp == NULL) ... else of w*/
+  /* End of cleaning variable w */
+  /* End of cleaning variable n */
+  /* End of cleaning variable lwrk */
+  } /*CHECKSCALAR(m>k)*/
+  /* End of cleaning variable m */
+  /* End of cleaning variable nest */
+  } /*CHECKSCALAR(xb<=x[0])*/
+  } /*if (f2py_success) of xb*/
+  /* End of cleaning variable xb */
+  if((PyObject *)capi_x_tmp!=x_capi) {
+    Py_XDECREF(capi_x_tmp); }
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  } /*CHECKSCALAR(s>=0.0)*/
+  } /*if (f2py_success) of s*/
+  /* End of cleaning variable s */
+  if((PyObject *)capi_wrk_tmp!=wrk_capi) {
+    Py_XDECREF(capi_wrk_tmp); }
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  /* End of cleaning variable ier */
+  } /*CHECKSCALAR(1<=k && k <=5)*/
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  } /*if (f2py_success) of iopt*/
+  /* End of cleaning variable iopt */
+  /* End of cleaning variable fp */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of curfit *******************************/
+
+/*********************************** percur ***********************************/
+static char doc_f2py_rout_dfitpack_percur[] = "\
+Function signature:\n\
+  n,c,fp,ier = percur(iopt,x,y,w,t,wrk,iwrk,[k,s])\n\
+Required arguments:\n"
+"  iopt : input int\n"
+"  x : input rank-1 array('d') with bounds (m)\n"
+"  y : input rank-1 array('d') with bounds (m)\n"
+"  w : input rank-1 array('d') with bounds (m)\n"
+"  t : in/output rank-1 array('d') with bounds (nest)\n"
+"  wrk : in/output rank-1 array('d') with bounds (lwrk)\n"
+"  iwrk : in/output rank-1 array('i') with bounds (nest)\n"
+"Optional arguments:\n"
+"  k := 3 input int\n"
+"  s := 0.0 input float\n"
+"Return objects:\n"
+"  n : int\n"
+"  c : rank-1 array('d') with bounds (n)\n"
+"  fp : float\n"
+"  ier : int";
+/* extern void F_FUNC(percur,PERCUR)(int*,int*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,double*,int*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_percur(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(int*,int*,double*,double*,double*,int*,double*,int*,int*,double*,double*,double*,double*,int*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  int iopt = 0;
+  PyObject *iopt_capi = Py_None;
+  int m = 0;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  PyObject *y_capi = Py_None;
+  double *w = NULL;
+  npy_intp w_Dims[1] = {-1};
+  const int w_Rank = 1;
+  PyArrayObject *capi_w_tmp = NULL;
+  int capi_w_intent = 0;
+  PyObject *w_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double s = 0;
+  PyObject *s_capi = Py_None;
+  int nest = 0;
+  int n = 0;
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  double fp = 0;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  PyObject *wrk_capi = Py_None;
+  int lwrk = 0;
+  int *iwrk = NULL;
+  npy_intp iwrk_Dims[1] = {-1};
+  const int iwrk_Rank = 1;
+  PyArrayObject *capi_iwrk_tmp = NULL;
+  int capi_iwrk_intent = 0;
+  PyObject *iwrk_capi = Py_None;
+  int ier = 0;
+  static char *capi_kwlist[] = {"iopt","x","y","w","t","wrk","iwrk","k","s",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOOOOO|OO:dfitpack.percur",\
+    capi_kwlist,&iopt_capi,&x_capi,&y_capi,&w_capi,&t_capi,&wrk_capi,&iwrk_capi,&k_capi,&s_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable fp */
+  /* Processing variable iopt */
+    f2py_success = int_from_pyobj(&iopt,iopt_capi,"dfitpack.percur() 1st argument (iopt) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable k */
+  if (k_capi == Py_None) k = 3; else
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.percur() 1st keyword (k) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(1<=k && k <=5,"1<=k && k <=5","1st keyword k","percur:k=%d",k) {
+  /* Processing variable ier */
+  /* Processing variable wrk */
+  ;
+  capi_wrk_intent |= F2PY_INTENT_INOUT;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,wrk_capi);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 6th argument `wrk' of dfitpack.percur to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+  /* Processing variable s */
+  if (s_capi == Py_None) s = 0.0; else
+    f2py_success = double_from_pyobj(&s,s_capi,"dfitpack.percur() 2nd keyword (s) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(s>=0.0,"s>=0.0","2nd keyword s","percur:s=%g",s) {
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_INOUT;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 5th argument `t' of dfitpack.percur to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `x' of dfitpack.percur to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable nest */
+  nest = len(t);
+  /* Processing variable iwrk */
+  iwrk_Dims[0]=nest;
+  capi_iwrk_intent |= F2PY_INTENT_INOUT;
+  capi_iwrk_tmp = array_from_pyobj(PyArray_INT,iwrk_Dims,iwrk_Rank,capi_iwrk_intent,iwrk_capi);
+  if (capi_iwrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 7th argument `iwrk' of dfitpack.percur to C/Fortran array" );
+  } else {
+    iwrk = (int *)(capi_iwrk_tmp->data);
+
+  /* Processing variable m */
+  m = len(x);
+  CHECKSCALAR(m>k,"m>k","hidden m","percur:m=%d",m) {
+  /* Processing variable lwrk */
+  lwrk = len(wrk);
+  /* Processing variable n */
+  n = nest;
+  /* Processing variable w */
+  w_Dims[0]=m;
+  capi_w_intent |= F2PY_INTENT_IN;
+  capi_w_tmp = array_from_pyobj(PyArray_DOUBLE,w_Dims,w_Rank,capi_w_intent,w_capi);
+  if (capi_w_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 4th argument `w' of dfitpack.percur to C/Fortran array" );
+  } else {
+    w = (double *)(capi_w_tmp->data);
+
+  CHECKARRAY(len(w)==m,"len(w)==m","4th argument w") {
+  /* Processing variable y */
+  y_Dims[0]=m;
+  capi_y_intent |= F2PY_INTENT_IN;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,y_capi);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 3rd argument `y' of dfitpack.percur to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  CHECKARRAY(len(y)==m,"len(y)==m","3rd argument y") {
+  /* Processing variable c */
+  c_Dims[0]=n;
+  capi_c_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,Py_None);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `c' of dfitpack.percur to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(&iopt,&m,x,y,w,&k,&s,&nest,&n,t,c,&fp,wrk,&lwrk,iwrk,&ier);
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("iNdi",n,capi_c_tmp,fp,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  } /*CHECKARRAY(len(y)==m)*/
+  if((PyObject *)capi_y_tmp!=y_capi) {
+    Py_XDECREF(capi_y_tmp); }
+  }  /*if (capi_y_tmp == NULL) ... else of y*/
+  /* End of cleaning variable y */
+  } /*CHECKARRAY(len(w)==m)*/
+  if((PyObject *)capi_w_tmp!=w_capi) {
+    Py_XDECREF(capi_w_tmp); }
+  }  /*if (capi_w_tmp == NULL) ... else of w*/
+  /* End of cleaning variable w */
+  /* End of cleaning variable n */
+  /* End of cleaning variable lwrk */
+  } /*CHECKSCALAR(m>k)*/
+  /* End of cleaning variable m */
+  if((PyObject *)capi_iwrk_tmp!=iwrk_capi) {
+    Py_XDECREF(capi_iwrk_tmp); }
+  }  /*if (capi_iwrk_tmp == NULL) ... else of iwrk*/
+  /* End of cleaning variable iwrk */
+  /* End of cleaning variable nest */
+  if((PyObject *)capi_x_tmp!=x_capi) {
+    Py_XDECREF(capi_x_tmp); }
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  } /*CHECKSCALAR(s>=0.0)*/
+  } /*if (f2py_success) of s*/
+  /* End of cleaning variable s */
+  if((PyObject *)capi_wrk_tmp!=wrk_capi) {
+    Py_XDECREF(capi_wrk_tmp); }
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  /* End of cleaning variable ier */
+  } /*CHECKSCALAR(1<=k && k <=5)*/
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  } /*if (f2py_success) of iopt*/
+  /* End of cleaning variable iopt */
+  /* End of cleaning variable fp */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of percur *******************************/
+
+/*********************************** parcur ***********************************/
+static char doc_f2py_rout_dfitpack_parcur[] = "\
+Function signature:\n\
+  n,c,fp,ier = parcur(iopt,ipar,idim,u,x,w,ub,ue,t,wrk,iwrk,[k,s])\n\
+Required arguments:\n"
+"  iopt : input int\n"
+"  ipar : input int\n"
+"  idim : input int\n"
+"  u : in/output rank-1 array('d') with bounds (m)\n"
+"  x : input rank-1 array('d') with bounds (mx)\n"
+"  w : input rank-1 array('d') with bounds (m)\n"
+"  ub : input float\n"
+"  ue : input float\n"
+"  t : in/output rank-1 array('d') with bounds (nest)\n"
+"  wrk : in/output rank-1 array('d') with bounds (lwrk)\n"
+"  iwrk : in/output rank-1 array('i') with bounds (nest)\n"
+"Optional arguments:\n"
+"  k := 3.0 input int\n"
+"  s := 0.0 input float\n"
+"Return objects:\n"
+"  n : int\n"
+"  c : rank-1 array('d') with bounds (nc)\n"
+"  fp : float\n"
+"  ier : int";
+/* extern void F_FUNC(parcur,PARCUR)(int*,int*,int*,int*,double*,int*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,double*,double*,double*,int*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_parcur(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(int*,int*,int*,int*,double*,int*,double*,double*,double*,double*,int*,double*,int*,int*,double*,int*,double*,double*,double*,int*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  int iopt = 0;
+  PyObject *iopt_capi = Py_None;
+  int ipar = 0;
+  PyObject *ipar_capi = Py_None;
+  int idim = 0;
+  PyObject *idim_capi = Py_None;
+  int m = 0;
+  double *u = NULL;
+  npy_intp u_Dims[1] = {-1};
+  const int u_Rank = 1;
+  PyArrayObject *capi_u_tmp = NULL;
+  int capi_u_intent = 0;
+  PyObject *u_capi = Py_None;
+  int mx = 0;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  double *w = NULL;
+  npy_intp w_Dims[1] = {-1};
+  const int w_Rank = 1;
+  PyArrayObject *capi_w_tmp = NULL;
+  int capi_w_intent = 0;
+  PyObject *w_capi = Py_None;
+  double ub = 0;
+  PyObject *ub_capi = Py_None;
+  double ue = 0;
+  PyObject *ue_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double s = 0;
+  PyObject *s_capi = Py_None;
+  int nest = 0;
+  int n = 0;
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  PyObject *t_capi = Py_None;
+  int nc = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  double fp = 0;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  PyObject *wrk_capi = Py_None;
+  int lwrk = 0;
+  int *iwrk = NULL;
+  npy_intp iwrk_Dims[1] = {-1};
+  const int iwrk_Rank = 1;
+  PyArrayObject *capi_iwrk_tmp = NULL;
+  int capi_iwrk_intent = 0;
+  PyObject *iwrk_capi = Py_None;
+  int ier = 0;
+  static char *capi_kwlist[] = {"iopt","ipar","idim","u","x","w","ub","ue","t","wrk","iwrk","k","s",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOOOOOOOOO|OO:dfitpack.parcur",\
+    capi_kwlist,&iopt_capi,&ipar_capi,&idim_capi,&u_capi,&x_capi,&w_capi,&ub_capi,&ue_capi,&t_capi,&wrk_capi,&iwrk_capi,&k_capi,&s_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable fp */
+  /* Processing variable ier */
+  /* Processing variable iopt */
+    f2py_success = int_from_pyobj(&iopt,iopt_capi,"dfitpack.parcur() 1st argument (iopt) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(iopt>=-1 && iopt <= 1,"iopt>=-1 && iopt <= 1","1st argument iopt","parcur:iopt=%d",iopt) {
+  /* Processing variable c */
+  ;
+  capi_c_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,Py_None);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `c' of dfitpack.parcur to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  /* Processing variable k */
+  if (k_capi == Py_None) k = 3.0; else
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.parcur() 1st keyword (k) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(1<=k && k<=5,"1<=k && k<=5","1st keyword k","parcur:k=%d",k) {
+  /* Processing variable wrk */
+  ;
+  capi_wrk_intent |= F2PY_INTENT_INOUT;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,wrk_capi);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 10th argument `wrk' of dfitpack.parcur to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+  /* Processing variable s */
+  if (s_capi == Py_None) s = 0.0; else
+    f2py_success = double_from_pyobj(&s,s_capi,"dfitpack.parcur() 2nd keyword (s) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(s>=0.0,"s>=0.0","2nd keyword s","parcur:s=%g",s) {
+  /* Processing variable u */
+  ;
+  capi_u_intent |= F2PY_INTENT_INOUT;
+  capi_u_tmp = array_from_pyobj(PyArray_DOUBLE,u_Dims,u_Rank,capi_u_intent,u_capi);
+  if (capi_u_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 4th argument `u' of dfitpack.parcur to C/Fortran array" );
+  } else {
+    u = (double *)(capi_u_tmp->data);
+
+  /* Processing variable idim */
+    f2py_success = int_from_pyobj(&idim,idim_capi,"dfitpack.parcur() 3rd argument (idim) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(idim > 0 && idim < 11,"idim > 0 && idim < 11","3rd argument idim","parcur:idim=%d",idim) {
+  /* Processing variable ipar */
+    f2py_success = int_from_pyobj(&ipar,ipar_capi,"dfitpack.parcur() 2nd argument (ipar) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(ipar == 1 || ipar == 0,"ipar == 1 || ipar == 0","2nd argument ipar","parcur:ipar=%d",ipar) {
+  /* Processing variable ue */
+    f2py_success = double_from_pyobj(&ue,ue_capi,"dfitpack.parcur() 8th argument (ue) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 5th argument `x' of dfitpack.parcur to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable ub */
+    f2py_success = double_from_pyobj(&ub,ub_capi,"dfitpack.parcur() 7th argument (ub) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable t */
+  ;
+  capi_t_intent |= F2PY_INTENT_INOUT;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 9th argument `t' of dfitpack.parcur to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable nest */
+  nest = len(t);
+  /* Processing variable iwrk */
+  iwrk_Dims[0]=nest;
+  capi_iwrk_intent |= F2PY_INTENT_INOUT;
+  capi_iwrk_tmp = array_from_pyobj(PyArray_INT,iwrk_Dims,iwrk_Rank,capi_iwrk_intent,iwrk_capi);
+  if (capi_iwrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 11st argument `iwrk' of dfitpack.parcur to C/Fortran array" );
+  } else {
+    iwrk = (int *)(capi_iwrk_tmp->data);
+
+  /* Processing variable nc */
+  nc = len(c);
+  CHECKSCALAR(nc>=idim*nest,"nc>=idim*nest","hidden nc","parcur:nc=%d",nc) {
+  /* Processing variable m */
+  m = len(u);
+  CHECKSCALAR(m>k,"m>k","hidden m","parcur:m=%d",m) {
+  /* Processing variable lwrk */
+  lwrk = len(wrk);
+  /* Processing variable n */
+  n = nest;
+  /* Processing variable mx */
+  mx = len(x);
+  CHECKSCALAR(mx>=idim*m,"mx>=idim*m","hidden mx","parcur:mx=%d",mx) {
+  /* Processing variable w */
+  w_Dims[0]=m;
+  capi_w_intent |= F2PY_INTENT_IN;
+  capi_w_tmp = array_from_pyobj(PyArray_DOUBLE,w_Dims,w_Rank,capi_w_intent,w_capi);
+  if (capi_w_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 6th argument `w' of dfitpack.parcur to C/Fortran array" );
+  } else {
+    w = (double *)(capi_w_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(&iopt,&ipar,&idim,&m,u,&mx,x,w,&ub,&ue,&k,&s,&nest,&n,t,&nc,c,&fp,wrk,&lwrk,iwrk,&ier);
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("iNdi",n,capi_c_tmp,fp,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+  if((PyObject *)capi_w_tmp!=w_capi) {
+    Py_XDECREF(capi_w_tmp); }
+  }  /*if (capi_w_tmp == NULL) ... else of w*/
+  /* End of cleaning variable w */
+  } /*CHECKSCALAR(mx>=idim*m)*/
+  /* End of cleaning variable mx */
+  /* End of cleaning variable n */
+  /* End of cleaning variable lwrk */
+  } /*CHECKSCALAR(m>k)*/
+  /* End of cleaning variable m */
+  } /*CHECKSCALAR(nc>=idim*nest)*/
+  /* End of cleaning variable nc */
+  if((PyObject *)capi_iwrk_tmp!=iwrk_capi) {
+    Py_XDECREF(capi_iwrk_tmp); }
+  }  /*if (capi_iwrk_tmp == NULL) ... else of iwrk*/
+  /* End of cleaning variable iwrk */
+  /* End of cleaning variable nest */
+  if((PyObject *)capi_t_tmp!=t_capi) {
+    Py_XDECREF(capi_t_tmp); }
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  } /*if (f2py_success) of ub*/
+  /* End of cleaning variable ub */
+  if((PyObject *)capi_x_tmp!=x_capi) {
+    Py_XDECREF(capi_x_tmp); }
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  } /*if (f2py_success) of ue*/
+  /* End of cleaning variable ue */
+  } /*CHECKSCALAR(ipar == 1 || ipar == 0)*/
+  } /*if (f2py_success) of ipar*/
+  /* End of cleaning variable ipar */
+  } /*CHECKSCALAR(idim > 0 && idim < 11)*/
+  } /*if (f2py_success) of idim*/
+  /* End of cleaning variable idim */
+  if((PyObject *)capi_u_tmp!=u_capi) {
+    Py_XDECREF(capi_u_tmp); }
+  }  /*if (capi_u_tmp == NULL) ... else of u*/
+  /* End of cleaning variable u */
+  } /*CHECKSCALAR(s>=0.0)*/
+  } /*if (f2py_success) of s*/
+  /* End of cleaning variable s */
+  if((PyObject *)capi_wrk_tmp!=wrk_capi) {
+    Py_XDECREF(capi_wrk_tmp); }
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  } /*CHECKSCALAR(1<=k && k<=5)*/
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  } /*CHECKSCALAR(iopt>=-1 && iopt <= 1)*/
+  } /*if (f2py_success) of iopt*/
+  /* End of cleaning variable iopt */
+  /* End of cleaning variable ier */
+  /* End of cleaning variable fp */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of parcur *******************************/
+
+/********************************** fpcurf0 **********************************/
+static char doc_f2py_rout_dfitpack_fpcurf0[] = "\
+Function signature:\n\
+  x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier = fpcurf0(x,y,k,[w,xb,xe,s,nest])\n\
+Required arguments:\n"
+"  x : input rank-1 array('d') with bounds (m)\n"
+"  y : input rank-1 array('d') with bounds (m)\n"
+"  k : input int\n"
+"Optional arguments:\n"
+"  w := 1.0 input rank-1 array('d') with bounds (m)\n"
+"  xb := x[0] input float\n"
+"  xe := x[m-1] input float\n"
+"  s := m input float\n"
+"  nest := (s==0.0?m+k+1:MAX(m/2,2*k1)) input int\n"
+"Return objects:\n"
+"  x : rank-1 array('d') with bounds (m)\n"
+"  y : rank-1 array('d') with bounds (m)\n"
+"  w : rank-1 array('d') with bounds (m)\n"
+"  xb : float\n"
+"  xe : float\n"
+"  k : int\n"
+"  s : float\n"
+"  n : int\n"
+"  t : rank-1 array('d') with bounds (nest)\n"
+"  c : rank-1 array('d') with bounds (nest)\n"
+"  fp : float\n"
+"  fpint : rank-1 array('d') with bounds (nest)\n"
+"  nrdata : rank-1 array('i') with bounds (nest)\n"
+"  ier : int";
+/* extern void F_FUNC(fpcurf,FPCURF)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_fpcurf0(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  int iopt = 0;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  PyObject *y_capi = Py_None;
+  double *w = NULL;
+  npy_intp w_Dims[1] = {-1};
+  const int w_Rank = 1;
+  PyArrayObject *capi_w_tmp = NULL;
+  int capi_w_intent = 0;
+  PyObject *w_capi = Py_None;
+  int m = 0;
+  double xb = 0;
+  PyObject *xb_capi = Py_None;
+  double xe = 0;
+  PyObject *xe_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double s = 0;
+  PyObject *s_capi = Py_None;
+  int nest = 0;
+  PyObject *nest_capi = Py_None;
+  double tol = 0;
+  int maxit = 0;
+  int k1 = 0;
+  int k2 = 0;
+  int n = 0;
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  double fp = 0;
+  double *fpint = NULL;
+  npy_intp fpint_Dims[1] = {-1};
+  const int fpint_Rank = 1;
+  PyArrayObject *capi_fpint_tmp = NULL;
+  int capi_fpint_intent = 0;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  int *nrdata = NULL;
+  npy_intp nrdata_Dims[1] = {-1};
+  const int nrdata_Rank = 1;
+  PyArrayObject *capi_nrdata_tmp = NULL;
+  int capi_nrdata_intent = 0;
+  int ier = 0;
+  static char *capi_kwlist[] = {"x","y","k","w","xb","xe","s","nest",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOO|OOOOO:dfitpack.fpcurf0",\
+    capi_kwlist,&x_capi,&y_capi,&k_capi,&w_capi,&xb_capi,&xe_capi,&s_capi,&nest_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable fp */
+  /* Processing variable maxit */
+  maxit = 20;
+  /* Processing variable k */
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.fpcurf0() 3rd argument (k) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(1<=k && k<=5,"1<=k && k<=5","3rd argument k","fpcurf0:k=%d",k) {
+  /* Processing variable ier */
+  /* Processing variable n */
+  /* Processing variable tol */
+  tol = 0.001;
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `x' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable iopt */
+  iopt = 0;
+  /* Processing variable xb */
+  if (xb_capi == Py_None) xb = x[0]; else
+    f2py_success = double_from_pyobj(&xb,xb_capi,"dfitpack.fpcurf0() 2nd keyword (xb) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(xb<=x[0],"xb<=x[0]","2nd keyword xb","fpcurf0:xb=%g",xb) {
+  /* Processing variable m */
+  m = len(x);
+  CHECKSCALAR(m>k,"m>k","hidden m","fpcurf0:m=%d",m) {
+  /* Processing variable k2 */
+  k2 = k+2;
+  /* Processing variable k1 */
+  k1 = k+1;
+  /* Processing variable y */
+  y_Dims[0]=m;
+  capi_y_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,y_capi);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `y' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  CHECKARRAY(len(y)==m,"len(y)==m","2nd argument y") {
+  /* Processing variable w */
+  w_Dims[0]=m;
+  capi_w_intent |= F2PY_INTENT_IN|F2PY_OPTIONAL|F2PY_INTENT_OUT;
+  capi_w_tmp = array_from_pyobj(PyArray_DOUBLE,w_Dims,w_Rank,capi_w_intent,w_capi);
+  if (capi_w_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st keyword `w' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    w = (double *)(capi_w_tmp->data);
+
+  if (w_capi == Py_None) {
+
+
+    int *_i,capi_i=0;
+    CFUNCSMESS("fpcurf0: Initializing w=1.0\n");
+    if (initforcomb(capi_w_tmp->dimensions,capi_w_tmp->nd,1)) {
+      while ((_i = nextforcomb()))
+        w[capi_i++] = 1.0; /* fortran way */
+    } else {
+      if (!PyErr_Occurred())
+        PyErr_SetString(dfitpack_error,"Initialization of 1st keyword w failed (initforcomb).");
+      f2py_success = 0;
+    }
+  }
+  if (f2py_success) {
+  CHECKARRAY(len(w)==m,"len(w)==m","1st keyword w") {
+  /* Processing variable s */
+  if (s_capi == Py_None) s = m; else
+    f2py_success = double_from_pyobj(&s,s_capi,"dfitpack.fpcurf0() 4th keyword (s) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(s>=0.0,"s>=0.0","4th keyword s","fpcurf0:s=%g",s) {
+  /* Processing variable nest */
+  if (nest_capi == Py_None) nest = (s==0.0?m+k+1:MAX(m/2,2*k1)); else
+    f2py_success = int_from_pyobj(&nest,nest_capi,"dfitpack.fpcurf0() 5th keyword (nest) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(nest>=2*k1,"nest>=2*k1","5th keyword nest","fpcurf0:nest=%d",nest) {
+  /* Processing variable xe */
+  if (xe_capi == Py_None) xe = x[m-1]; else
+    f2py_success = double_from_pyobj(&xe,xe_capi,"dfitpack.fpcurf0() 3rd keyword (xe) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(xe>=x[m-1],"xe>=x[m-1]","3rd keyword xe","fpcurf0:xe=%g",xe) {
+  /* Processing variable nrdata */
+  nrdata_Dims[0]=nest;
+  capi_nrdata_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_nrdata_tmp = array_from_pyobj(PyArray_INT,nrdata_Dims,nrdata_Rank,capi_nrdata_intent,Py_None);
+  if (capi_nrdata_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `nrdata' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    nrdata = (int *)(capi_nrdata_tmp->data);
+
+  /* Processing variable fpint */
+  fpint_Dims[0]=nest;
+  capi_fpint_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_fpint_tmp = array_from_pyobj(PyArray_DOUBLE,fpint_Dims,fpint_Rank,capi_fpint_intent,Py_None);
+  if (capi_fpint_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `fpint' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    fpint = (double *)(capi_fpint_tmp->data);
+
+  /* Processing variable c */
+  c_Dims[0]=nest;
+  capi_c_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,Py_None);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `c' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  /* Processing variable wrk */
+  wrk_Dims[0]=nest*3*k2+m*k1;
+  capi_wrk_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_HIDE;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,Py_None);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `wrk' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+  /* Processing variable t */
+  t_Dims[0]=nest;
+  capi_t_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,Py_None);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `t' of dfitpack.fpcurf0 to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(&iopt,x,y,w,&m,&xb,&xe,&k,&s,&nest,&tol,&maxit,&k1,&k2,&n,t,c,&fp,fpint,wrk,wrk+nest,wrk+nest*k2,wrk+nest*2*k2,wrk+nest*3*k2,nrdata,&ier);
+        /*(*f2py_func)(&iopt,x,y,w,&m,&xb,&xe,&k,&s,&nest,&tol,&maxit,&k1,&k2,&n,t,c,&fp,fpint,wrk,nrdata,&ier);*/
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("NNNddidiNNdNNi",capi_x_tmp,capi_y_tmp,capi_w_tmp,xb,xe,k,s,n,capi_t_tmp,capi_c_tmp,fp,capi_fpint_tmp,capi_nrdata_tmp,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+    Py_XDECREF(capi_wrk_tmp);
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  }  /*if (capi_fpint_tmp == NULL) ... else of fpint*/
+  /* End of cleaning variable fpint */
+  }  /*if (capi_nrdata_tmp == NULL) ... else of nrdata*/
+  /* End of cleaning variable nrdata */
+  } /*CHECKSCALAR(xe>=x[m-1])*/
+  } /*if (f2py_success) of xe*/
+  /* End of cleaning variable xe */
+  } /*CHECKSCALAR(nest>=2*k1)*/
+  } /*if (f2py_success) of nest*/
+  /* End of cleaning variable nest */
+  } /*CHECKSCALAR(s>=0.0)*/
+  } /*if (f2py_success) of s*/
+  /* End of cleaning variable s */
+  } /*CHECKARRAY(len(w)==m)*/
+  }  /*if (f2py_success) of w init*/
+  }  /*if (capi_w_tmp == NULL) ... else of w*/
+  /* End of cleaning variable w */
+  } /*CHECKARRAY(len(y)==m)*/
+  }  /*if (capi_y_tmp == NULL) ... else of y*/
+  /* End of cleaning variable y */
+  /* End of cleaning variable k1 */
+  /* End of cleaning variable k2 */
+  } /*CHECKSCALAR(m>k)*/
+  /* End of cleaning variable m */
+  } /*CHECKSCALAR(xb<=x[0])*/
+  } /*if (f2py_success) of xb*/
+  /* End of cleaning variable xb */
+  /* End of cleaning variable iopt */
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  /* End of cleaning variable tol */
+  /* End of cleaning variable n */
+  /* End of cleaning variable ier */
+  } /*CHECKSCALAR(1<=k && k<=5)*/
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  /* End of cleaning variable maxit */
+  /* End of cleaning variable fp */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of fpcurf0 *******************************/
+
+/********************************** fpcurf1 **********************************/
+static char doc_f2py_rout_dfitpack_fpcurf1[] = "\
+Function signature:\n\
+  x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier = fpcurf1(x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier,[overwrite_x,overwrite_y,overwrite_w,overwrite_t,overwrite_c,overwrite_fpint,overwrite_nrdata])\n\
+Required arguments:\n"
+"  x : input rank-1 array('d') with bounds (m)\n"
+"  y : input rank-1 array('d') with bounds (m)\n"
+"  w : input rank-1 array('d') with bounds (m)\n"
+"  xb : input float\n"
+"  xe : input float\n"
+"  k : input int\n"
+"  s : input float\n"
+"  n : input int\n"
+"  t : input rank-1 array('d') with bounds (nest)\n"
+"  c : input rank-1 array('d') with bounds (nest)\n"
+"  fp : input float\n"
+"  fpint : input rank-1 array('d') with bounds (nest)\n"
+"  nrdata : input rank-1 array('i') with bounds (nest)\n"
+"  ier : input int\n"
+"Optional arguments:\n"
+"  overwrite_x := 1 input int\n"
+"  overwrite_y := 1 input int\n"
+"  overwrite_w := 1 input int\n"
+"  overwrite_t := 1 input int\n"
+"  overwrite_c := 1 input int\n"
+"  overwrite_fpint := 1 input int\n"
+"  overwrite_nrdata := 1 input int\n"
+"Return objects:\n"
+"  x : rank-1 array('d') with bounds (m)\n"
+"  y : rank-1 array('d') with bounds (m)\n"
+"  w : rank-1 array('d') with bounds (m)\n"
+"  xb : float\n"
+"  xe : float\n"
+"  k : int\n"
+"  s : float\n"
+"  n : int\n"
+"  t : rank-1 array('d') with bounds (nest)\n"
+"  c : rank-1 array('d') with bounds (nest)\n"
+"  fp : float\n"
+"  fpint : rank-1 array('d') with bounds (nest)\n"
+"  nrdata : rank-1 array('i') with bounds (nest)\n"
+"  ier : int";
+/* extern void F_FUNC(fpcurf,FPCURF)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_fpcurf1(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  int iopt = 0;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  int capi_overwrite_x = 1;
+  PyObject *x_capi = Py_None;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  int capi_overwrite_y = 1;
+  PyObject *y_capi = Py_None;
+  double *w = NULL;
+  npy_intp w_Dims[1] = {-1};
+  const int w_Rank = 1;
+  PyArrayObject *capi_w_tmp = NULL;
+  int capi_w_intent = 0;
+  int capi_overwrite_w = 1;
+  PyObject *w_capi = Py_None;
+  int m = 0;
+  double xb = 0;
+  PyObject *xb_capi = Py_None;
+  double xe = 0;
+  PyObject *xe_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double s = 0;
+  PyObject *s_capi = Py_None;
+  int nest = 0;
+  double tol = 0;
+  int maxit = 0;
+  int k1 = 0;
+  int k2 = 0;
+  int n = 0;
+  PyObject *n_capi = Py_None;
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  int capi_overwrite_t = 1;
+  PyObject *t_capi = Py_None;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  int capi_overwrite_c = 1;
+  PyObject *c_capi = Py_None;
+  double fp = 0;
+  PyObject *fp_capi = Py_None;
+  double *fpint = NULL;
+  npy_intp fpint_Dims[1] = {-1};
+  const int fpint_Rank = 1;
+  PyArrayObject *capi_fpint_tmp = NULL;
+  int capi_fpint_intent = 0;
+  int capi_overwrite_fpint = 1;
+  PyObject *fpint_capi = Py_None;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  int *nrdata = NULL;
+  npy_intp nrdata_Dims[1] = {-1};
+  const int nrdata_Rank = 1;
+  PyArrayObject *capi_nrdata_tmp = NULL;
+  int capi_nrdata_intent = 0;
+  int capi_overwrite_nrdata = 1;
+  PyObject *nrdata_capi = Py_None;
+  int ier = 0;
+  PyObject *ier_capi = Py_None;
+  static char *capi_kwlist[] = {"x","y","w","xb","xe","k","s","n","t","c","fp","fpint","nrdata","ier","overwrite_x","overwrite_y","overwrite_w","overwrite_t","overwrite_c","overwrite_fpint","overwrite_nrdata",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOOOOOOOOOOOO|iiiiiii:dfitpack.fpcurf1",\
+    capi_kwlist,&x_capi,&y_capi,&w_capi,&xb_capi,&xe_capi,&k_capi,&s_capi,&n_capi,&t_capi,&c_capi,&fp_capi,&fpint_capi,&nrdata_capi,&ier_capi,&capi_overwrite_x,&capi_overwrite_y,&capi_overwrite_w,&capi_overwrite_t,&capi_overwrite_c,&capi_overwrite_fpint,&capi_overwrite_nrdata))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable fp */
+    f2py_success = double_from_pyobj(&fp,fp_capi,"dfitpack.fpcurf1() 11st argument (fp) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable xb */
+    f2py_success = double_from_pyobj(&xb,xb_capi,"dfitpack.fpcurf1() 4th argument (xb) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable s */
+    f2py_success = double_from_pyobj(&s,s_capi,"dfitpack.fpcurf1() 7th argument (s) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(s>=0.0,"s>=0.0","7th argument s","fpcurf1:s=%g",s) {
+  /* Processing variable xe */
+    f2py_success = double_from_pyobj(&xe,xe_capi,"dfitpack.fpcurf1() 5th argument (xe) can't be converted to double");
+  if (f2py_success) {
+  /* Processing variable maxit */
+  maxit = 20;
+  /* Processing variable k */
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.fpcurf1() 6th argument (k) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(1<=k && k<=5,"1<=k && k<=5","6th argument k","fpcurf1:k=%d",k) {
+  /* Processing variable ier */
+    f2py_success = int_from_pyobj(&ier,ier_capi,"dfitpack.fpcurf1() 14th argument (ier) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable n */
+    f2py_success = int_from_pyobj(&n,n_capi,"dfitpack.fpcurf1() 8th argument (n) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable t */
+  capi_t_intent |= (capi_overwrite_t?0:F2PY_INTENT_COPY);
+  ;
+  capi_t_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 9th argument `t' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable tol */
+  tol = 0.001;
+  /* Processing variable x */
+  capi_x_intent |= (capi_overwrite_x?0:F2PY_INTENT_COPY);
+  ;
+  capi_x_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `x' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable iopt */
+  iopt = 1;
+  /* Processing variable nest */
+  nest = len(t);
+  /* Processing variable nrdata */
+  capi_nrdata_intent |= (capi_overwrite_nrdata?0:F2PY_INTENT_COPY);
+  nrdata_Dims[0]=nest;
+  capi_nrdata_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_nrdata_tmp = array_from_pyobj(PyArray_INT,nrdata_Dims,nrdata_Rank,capi_nrdata_intent,nrdata_capi);
+  if (capi_nrdata_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 13rd argument `nrdata' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    nrdata = (int *)(capi_nrdata_tmp->data);
+
+  CHECKARRAY(len(nrdata)==nest,"len(nrdata)==nest","13rd argument nrdata") {
+  /* Processing variable fpint */
+  capi_fpint_intent |= (capi_overwrite_fpint?0:F2PY_INTENT_COPY);
+  fpint_Dims[0]=nest;
+  capi_fpint_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_fpint_tmp = array_from_pyobj(PyArray_DOUBLE,fpint_Dims,fpint_Rank,capi_fpint_intent,fpint_capi);
+  if (capi_fpint_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 12nd argument `fpint' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    fpint = (double *)(capi_fpint_tmp->data);
+
+  CHECKARRAY(len(fpint)==nest,"len(fpint)==nest","12nd argument fpint") {
+  /* Processing variable c */
+  capi_c_intent |= (capi_overwrite_c?0:F2PY_INTENT_COPY);
+  c_Dims[0]=nest;
+  capi_c_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,c_capi);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 10th argument `c' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  CHECKARRAY(len(c)==nest,"len(c)==nest","10th argument c") {
+  /* Processing variable m */
+  m = len(x);
+  CHECKSCALAR(m>k,"m>k","hidden m","fpcurf1:m=%d",m) {
+  /* Processing variable k2 */
+  k2 = k+2;
+  /* Processing variable k1 */
+  k1 = k+1;
+  /* Processing variable y */
+  capi_y_intent |= (capi_overwrite_y?0:F2PY_INTENT_COPY);
+  y_Dims[0]=m;
+  capi_y_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,y_capi);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `y' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  CHECKARRAY(len(y)==m,"len(y)==m","2nd argument y") {
+  /* Processing variable w */
+  capi_w_intent |= (capi_overwrite_w?0:F2PY_INTENT_COPY);
+  w_Dims[0]=m;
+  capi_w_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_w_tmp = array_from_pyobj(PyArray_DOUBLE,w_Dims,w_Rank,capi_w_intent,w_capi);
+  if (capi_w_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 3rd argument `w' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    w = (double *)(capi_w_tmp->data);
+
+  CHECKARRAY(len(w)==m,"len(w)==m","3rd argument w") {
+  /* Processing variable wrk */
+  wrk_Dims[0]=nest*3*k2+m*k1;
+  capi_wrk_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_HIDE;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,Py_None);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `wrk' of dfitpack.fpcurf1 to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(&iopt,x,y,w,&m,&xb,&xe,&k,&s,&nest,&tol,&maxit,&k1,&k2,&n,t,c,&fp,fpint,wrk,wrk+nest,wrk+nest*k2,wrk+nest*2*k2,wrk+nest*3*k2,nrdata,&ier);
+        /*(*f2py_func)(&iopt,x,y,w,&m,&xb,&xe,&k,&s,&nest,&tol,&maxit,&k1,&k2,&n,t,c,&fp,fpint,wrk,nrdata,&ier);*/
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("NNNddidiNNdNNi",capi_x_tmp,capi_y_tmp,capi_w_tmp,xb,xe,k,s,n,capi_t_tmp,capi_c_tmp,fp,capi_fpint_tmp,capi_nrdata_tmp,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+    Py_XDECREF(capi_wrk_tmp);
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  } /*CHECKARRAY(len(w)==m)*/
+  }  /*if (capi_w_tmp == NULL) ... else of w*/
+  /* End of cleaning variable w */
+  } /*CHECKARRAY(len(y)==m)*/
+  }  /*if (capi_y_tmp == NULL) ... else of y*/
+  /* End of cleaning variable y */
+  /* End of cleaning variable k1 */
+  /* End of cleaning variable k2 */
+  } /*CHECKSCALAR(m>k)*/
+  /* End of cleaning variable m */
+  } /*CHECKARRAY(len(c)==nest)*/
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  } /*CHECKARRAY(len(fpint)==nest)*/
+  }  /*if (capi_fpint_tmp == NULL) ... else of fpint*/
+  /* End of cleaning variable fpint */
+  } /*CHECKARRAY(len(nrdata)==nest)*/
+  }  /*if (capi_nrdata_tmp == NULL) ... else of nrdata*/
+  /* End of cleaning variable nrdata */
+  /* End of cleaning variable nest */
+  /* End of cleaning variable iopt */
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  /* End of cleaning variable tol */
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  } /*if (f2py_success) of n*/
+  /* End of cleaning variable n */
+  } /*if (f2py_success) of ier*/
+  /* End of cleaning variable ier */
+  } /*CHECKSCALAR(1<=k && k<=5)*/
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  /* End of cleaning variable maxit */
+  } /*if (f2py_success) of xe*/
+  /* End of cleaning variable xe */
+  } /*CHECKSCALAR(s>=0.0)*/
+  } /*if (f2py_success) of s*/
+  /* End of cleaning variable s */
+  } /*if (f2py_success) of xb*/
+  /* End of cleaning variable xb */
+  } /*if (f2py_success) of fp*/
+  /* End of cleaning variable fp */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/******************************* end of fpcurf1 *******************************/
+
+/********************************** fpcurfm1 **********************************/
+static char doc_f2py_rout_dfitpack_fpcurfm1[] = "\
+Function signature:\n\
+  x,y,w,xb,xe,k,s,n,t,c,fp,fpint,nrdata,ier = fpcurfm1(x,y,k,t,[w,xb,xe,overwrite_t])\n\
+Required arguments:\n"
+"  x : input rank-1 array('d') with bounds (m)\n"
+"  y : input rank-1 array('d') with bounds (m)\n"
+"  k : input int\n"
+"  t : input rank-1 array('d') with bounds (n)\n"
+"Optional arguments:\n"
+"  w := 1.0 input rank-1 array('d') with bounds (m)\n"
+"  xb := x[0] input float\n"
+"  xe := x[m-1] input float\n"
+"  overwrite_t := 1 input int\n"
+"Return objects:\n"
+"  x : rank-1 array('d') with bounds (m)\n"
+"  y : rank-1 array('d') with bounds (m)\n"
+"  w : rank-1 array('d') with bounds (m)\n"
+"  xb : float\n"
+"  xe : float\n"
+"  k : int\n"
+"  s : float\n"
+"  n : int\n"
+"  t : rank-1 array('d') with bounds (n)\n"
+"  c : rank-1 array('d') with bounds (nest)\n"
+"  fp : float\n"
+"  fpint : rank-1 array('d') with bounds (nest)\n"
+"  nrdata : rank-1 array('i') with bounds (nest)\n"
+"  ier : int";
+/* extern void F_FUNC(fpcurf,FPCURF)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_fpcurfm1(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(int*,double*,double*,double*,int*,double*,double*,int*,double*,int*,double*,int*,int*,int*,int*,double*,double*,double*,double*,double*,double*,double*,double*,double*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  int iopt = 0;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  PyObject *y_capi = Py_None;
+  double *w = NULL;
+  npy_intp w_Dims[1] = {-1};
+  const int w_Rank = 1;
+  PyArrayObject *capi_w_tmp = NULL;
+  int capi_w_intent = 0;
+  PyObject *w_capi = Py_None;
+  int m = 0;
+  double xb = 0;
+  PyObject *xb_capi = Py_None;
+  double xe = 0;
+  PyObject *xe_capi = Py_None;
+  int k = 0;
+  PyObject *k_capi = Py_None;
+  double s = 0;
+  int nest = 0;
+  double tol = 0;
+  int maxit = 0;
+  int k1 = 0;
+  int k2 = 0;
+  int n = 0;
+  double *t = NULL;
+  npy_intp t_Dims[1] = {-1};
+  const int t_Rank = 1;
+  PyArrayObject *capi_t_tmp = NULL;
+  int capi_t_intent = 0;
+  int capi_overwrite_t = 1;
+  PyObject *t_capi = Py_None;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  double fp = 0;
+  double *fpint = NULL;
+  npy_intp fpint_Dims[1] = {-1};
+  const int fpint_Rank = 1;
+  PyArrayObject *capi_fpint_tmp = NULL;
+  int capi_fpint_intent = 0;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  int *nrdata = NULL;
+  npy_intp nrdata_Dims[1] = {-1};
+  const int nrdata_Rank = 1;
+  PyArrayObject *capi_nrdata_tmp = NULL;
+  int capi_nrdata_intent = 0;
+  int ier = 0;
+  static char *capi_kwlist[] = {"x","y","k","t","w","xb","xe","overwrite_t",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOO|OOOi:dfitpack.fpcurfm1",\
+    capi_kwlist,&x_capi,&y_capi,&k_capi,&t_capi,&w_capi,&xb_capi,&xe_capi,&capi_overwrite_t))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable fp */
+  /* Processing variable s */
+  s = -1;
+  /* Processing variable maxit */
+  maxit = 20;
+  /* Processing variable k */
+    f2py_success = int_from_pyobj(&k,k_capi,"dfitpack.fpcurfm1() 3rd argument (k) can't be converted to int");
+  if (f2py_success) {
+  CHECKSCALAR(1<=k && k<=5,"1<=k && k<=5","3rd argument k","fpcurfm1:k=%d",k) {
+  /* Processing variable ier */
+  /* Processing variable t */
+  capi_t_intent |= (capi_overwrite_t?0:F2PY_INTENT_COPY);
+  ;
+  capi_t_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_t_tmp = array_from_pyobj(PyArray_DOUBLE,t_Dims,t_Rank,capi_t_intent,t_capi);
+  if (capi_t_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 4th argument `t' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    t = (double *)(capi_t_tmp->data);
+
+  /* Processing variable tol */
+  tol = 0.001;
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `x' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable iopt */
+  iopt = -1;
+  /* Processing variable xb */
+  if (xb_capi == Py_None) xb = x[0]; else
+    f2py_success = double_from_pyobj(&xb,xb_capi,"dfitpack.fpcurfm1() 2nd keyword (xb) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(xb<=x[0],"xb<=x[0]","2nd keyword xb","fpcurfm1:xb=%g",xb) {
+  /* Processing variable m */
+  m = len(x);
+  CHECKSCALAR(m>k,"m>k","hidden m","fpcurfm1:m=%d",m) {
+  /* Processing variable n */
+  n = len(t);
+  /* Processing variable k2 */
+  k2 = k+2;
+  /* Processing variable k1 */
+  k1 = k+1;
+  /* Processing variable y */
+  y_Dims[0]=m;
+  capi_y_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,y_capi);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `y' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  CHECKARRAY(len(y)==m,"len(y)==m","2nd argument y") {
+  /* Processing variable w */
+  w_Dims[0]=m;
+  capi_w_intent |= F2PY_INTENT_IN|F2PY_OPTIONAL|F2PY_INTENT_OUT;
+  capi_w_tmp = array_from_pyobj(PyArray_DOUBLE,w_Dims,w_Rank,capi_w_intent,w_capi);
+  if (capi_w_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st keyword `w' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    w = (double *)(capi_w_tmp->data);
+
+  if (w_capi == Py_None) {
+
+
+    int *_i,capi_i=0;
+    CFUNCSMESS("fpcurfm1: Initializing w=1.0\n");
+    if (initforcomb(capi_w_tmp->dimensions,capi_w_tmp->nd,1)) {
+      while ((_i = nextforcomb()))
+        w[capi_i++] = 1.0; /* fortran way */
+    } else {
+      if (!PyErr_Occurred())
+        PyErr_SetString(dfitpack_error,"Initialization of 1st keyword w failed (initforcomb).");
+      f2py_success = 0;
+    }
+  }
+  if (f2py_success) {
+  CHECKARRAY(len(w)==m,"len(w)==m","1st keyword w") {
+  /* Processing variable nest */
+  nest = n;
+  /* Processing variable xe */
+  if (xe_capi == Py_None) xe = x[m-1]; else
+    f2py_success = double_from_pyobj(&xe,xe_capi,"dfitpack.fpcurfm1() 3rd keyword (xe) can't be converted to double");
+  if (f2py_success) {
+  CHECKSCALAR(xe>=x[m-1],"xe>=x[m-1]","3rd keyword xe","fpcurfm1:xe=%g",xe) {
+  /* Processing variable nrdata */
+  nrdata_Dims[0]=nest;
+  capi_nrdata_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_nrdata_tmp = array_from_pyobj(PyArray_INT,nrdata_Dims,nrdata_Rank,capi_nrdata_intent,Py_None);
+  if (capi_nrdata_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `nrdata' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    nrdata = (int *)(capi_nrdata_tmp->data);
+
+  /* Processing variable fpint */
+  fpint_Dims[0]=nest;
+  capi_fpint_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_fpint_tmp = array_from_pyobj(PyArray_DOUBLE,fpint_Dims,fpint_Rank,capi_fpint_intent,Py_None);
+  if (capi_fpint_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `fpint' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    fpint = (double *)(capi_fpint_tmp->data);
+
+  /* Processing variable c */
+  c_Dims[0]=nest;
+  capi_c_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE;
+  capi_c_tmp = array_from_pyobj(PyArray_DOUBLE,c_Dims,c_Rank,capi_c_intent,Py_None);
+  if (capi_c_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `c' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    c = (double *)(capi_c_tmp->data);
+
+  /* Processing variable wrk */
+  wrk_Dims[0]=nest*3*k2+m*k1;
+  capi_wrk_intent |= F2PY_INTENT_CACHE|F2PY_INTENT_HIDE;
+  capi_wrk_tmp = array_from_pyobj(PyArray_DOUBLE,wrk_Dims,wrk_Rank,capi_wrk_intent,Py_None);
+  if (capi_wrk_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting hidden `wrk' of dfitpack.fpcurfm1 to C/Fortran array" );
+  } else {
+    wrk = (double *)(capi_wrk_tmp->data);
+
+/*end of frompyobj*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_call_clock();
+#endif
+/*callfortranroutine*/
+        (*f2py_func)(&iopt,x,y,w,&m,&xb,&xe,&k,&s,&nest,&tol,&maxit,&k1,&k2,&n,t,c,&fp,fpint,wrk,wrk+nest,wrk+nest*k2,wrk+nest*2*k2,wrk+nest*3*k2,nrdata,&ier);
+        /*(*f2py_func)(&iopt,x,y,w,&m,&xb,&xe,&k,&s,&nest,&tol,&maxit,&k1,&k2,&n,t,c,&fp,fpint,wrk,nrdata,&ier);*/
+if (PyErr_Occurred())
+  f2py_success = 0;
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_call_clock();
+#endif
+/*end of callfortranroutine*/
+    if (f2py_success) {
+/*pyobjfrom*/
+/*end of pyobjfrom*/
+    CFUNCSMESS("Building return value.\n");
+    capi_buildvalue = Py_BuildValue("NNNddidiNNdNNi",capi_x_tmp,capi_y_tmp,capi_w_tmp,xb,xe,k,s,n,capi_t_tmp,capi_c_tmp,fp,capi_fpint_tmp,capi_nrdata_tmp,ier);
+/*closepyobjfrom*/
+/*end of closepyobjfrom*/
+    } /*if (f2py_success) after callfortranroutine*/
+/*cleanupfrompyobj*/
+    Py_XDECREF(capi_wrk_tmp);
+  }  /*if (capi_wrk_tmp == NULL) ... else of wrk*/
+  /* End of cleaning variable wrk */
+  }  /*if (capi_c_tmp == NULL) ... else of c*/
+  /* End of cleaning variable c */
+  }  /*if (capi_fpint_tmp == NULL) ... else of fpint*/
+  /* End of cleaning variable fpint */
+  }  /*if (capi_nrdata_tmp == NULL) ... else of nrdata*/
+  /* End of cleaning variable nrdata */
+  } /*CHECKSCALAR(xe>=x[m-1])*/
+  } /*if (f2py_success) of xe*/
+  /* End of cleaning variable xe */
+  /* End of cleaning variable nest */
+  } /*CHECKARRAY(len(w)==m)*/
+  }  /*if (f2py_success) of w init*/
+  }  /*if (capi_w_tmp == NULL) ... else of w*/
+  /* End of cleaning variable w */
+  } /*CHECKARRAY(len(y)==m)*/
+  }  /*if (capi_y_tmp == NULL) ... else of y*/
+  /* End of cleaning variable y */
+  /* End of cleaning variable k1 */
+  /* End of cleaning variable k2 */
+  /* End of cleaning variable n */
+  } /*CHECKSCALAR(m>k)*/
+  /* End of cleaning variable m */
+  } /*CHECKSCALAR(xb<=x[0])*/
+  } /*if (f2py_success) of xb*/
+  /* End of cleaning variable xb */
+  /* End of cleaning variable iopt */
+  }  /*if (capi_x_tmp == NULL) ... else of x*/
+  /* End of cleaning variable x */
+  /* End of cleaning variable tol */
+  }  /*if (capi_t_tmp == NULL) ... else of t*/
+  /* End of cleaning variable t */
+  /* End of cleaning variable ier */
+  } /*CHECKSCALAR(1<=k && k<=5)*/
+  } /*if (f2py_success) of k*/
+  /* End of cleaning variable k */
+  /* End of cleaning variable maxit */
+  /* End of cleaning variable s */
+  /* End of cleaning variable fp */
+/*end of cleanupfrompyobj*/
+  if (capi_buildvalue == NULL) {
+/*routdebugfailure*/
+  } else {
+/*routdebugleave*/
+  }
+  CFUNCSMESS("Freeing memory.\n");
+/*freemem*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_stop_clock();
+#endif
+  return capi_buildvalue;
+}
+/****************************** end of fpcurfm1 ******************************/
+
+/*********************************** bispev ***********************************/
+static char doc_f2py_rout_dfitpack_bispev[] = "\
+Function signature:\n\
+  z,ier = bispev(tx,ty,c,kx,ky,x,y)\n\
+Required arguments:\n"
+"  tx : input rank-1 array('d') with bounds (nx)\n"
+"  ty : input rank-1 array('d') with bounds (ny)\n"
+"  c : input rank-1 array('d') with bounds ((nx-kx-1)*(ny-ky-1))\n"
+"  kx : input int\n"
+"  ky : input int\n"
+"  x : input rank-1 array('d') with bounds (mx)\n"
+"  y : input rank-1 array('d') with bounds (my)\n"
+"Return objects:\n"
+"  z : rank-2 array('d') with bounds (mx,my)\n"
+"  ier : int";
+/* extern void F_FUNC(bispev,BISPEV)(double*,int*,double*,int*,double*,int*,int*,double*,int*,double*,int*,double*,double*,int*,int*,int*,int*); */
+static PyObject *f2py_rout_dfitpack_bispev(const PyObject *capi_self,
+                           PyObject *capi_args,
+                           PyObject *capi_keywds,
+                           void (*f2py_func)(double*,int*,double*,int*,double*,int*,int*,double*,int*,double*,int*,double*,double*,int*,int*,int*,int*)) {
+  PyObject * volatile capi_buildvalue = NULL;
+  volatile int f2py_success = 1;
+/*decl*/
+
+  double *tx = NULL;
+  npy_intp tx_Dims[1] = {-1};
+  const int tx_Rank = 1;
+  PyArrayObject *capi_tx_tmp = NULL;
+  int capi_tx_intent = 0;
+  PyObject *tx_capi = Py_None;
+  int nx = 0;
+  double *ty = NULL;
+  npy_intp ty_Dims[1] = {-1};
+  const int ty_Rank = 1;
+  PyArrayObject *capi_ty_tmp = NULL;
+  int capi_ty_intent = 0;
+  PyObject *ty_capi = Py_None;
+  int ny = 0;
+  double *c = NULL;
+  npy_intp c_Dims[1] = {-1};
+  const int c_Rank = 1;
+  PyArrayObject *capi_c_tmp = NULL;
+  int capi_c_intent = 0;
+  PyObject *c_capi = Py_None;
+  int kx = 0;
+  PyObject *kx_capi = Py_None;
+  int ky = 0;
+  PyObject *ky_capi = Py_None;
+  double *x = NULL;
+  npy_intp x_Dims[1] = {-1};
+  const int x_Rank = 1;
+  PyArrayObject *capi_x_tmp = NULL;
+  int capi_x_intent = 0;
+  PyObject *x_capi = Py_None;
+  int mx = 0;
+  double *y = NULL;
+  npy_intp y_Dims[1] = {-1};
+  const int y_Rank = 1;
+  PyArrayObject *capi_y_tmp = NULL;
+  int capi_y_intent = 0;
+  PyObject *y_capi = Py_None;
+  int my = 0;
+  double *z = NULL;
+  npy_intp z_Dims[2] = {-1, -1};
+  const int z_Rank = 2;
+  PyArrayObject *capi_z_tmp = NULL;
+  int capi_z_intent = 0;
+  double *wrk = NULL;
+  npy_intp wrk_Dims[1] = {-1};
+  const int wrk_Rank = 1;
+  PyArrayObject *capi_wrk_tmp = NULL;
+  int capi_wrk_intent = 0;
+  int lwrk = 0;
+  int *iwrk = NULL;
+  npy_intp iwrk_Dims[1] = {-1};
+  const int iwrk_Rank = 1;
+  PyArrayObject *capi_iwrk_tmp = NULL;
+  int capi_iwrk_intent = 0;
+  int kwrk = 0;
+  int ier = 0;
+  static char *capi_kwlist[] = {"tx","ty","c","kx","ky","x","y",NULL};
+
+/*routdebugenter*/
+#ifdef F2PY_REPORT_ATEXIT
+f2py_start_clock();
+#endif
+  if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
+    "OOOOOOO|:dfitpack.bispev",\
+    capi_kwlist,&tx_capi,&ty_capi,&c_capi,&kx_capi,&ky_capi,&x_capi,&y_capi))
+    return NULL;
+/*frompyobj*/
+  /* Processing variable kx */
+    f2py_success = int_from_pyobj(&kx,kx_capi,"dfitpack.bispev() 4th argument (kx) can't be converted to int");
+  if (f2py_success) {
+  /* Processing variable tx */
+  ;
+  capi_tx_intent |= F2PY_INTENT_IN;
+  capi_tx_tmp = array_from_pyobj(PyArray_DOUBLE,tx_Dims,tx_Rank,capi_tx_intent,tx_capi);
+  if (capi_tx_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 1st argument `tx' of dfitpack.bispev to C/Fortran array" );
+  } else {
+    tx = (double *)(capi_tx_tmp->data);
+
+  /* Processing variable ty */
+  ;
+  capi_ty_intent |= F2PY_INTENT_IN;
+  capi_ty_tmp = array_from_pyobj(PyArray_DOUBLE,ty_Dims,ty_Rank,capi_ty_intent,ty_capi);
+  if (capi_ty_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 2nd argument `ty' of dfitpack.bispev to C/Fortran array" );
+  } else {
+    ty = (double *)(capi_ty_tmp->data);
+
+  /* Processing variable ier */
+  /* Processing variable y */
+  ;
+  capi_y_intent |= F2PY_INTENT_IN;
+  capi_y_tmp = array_from_pyobj(PyArray_DOUBLE,y_Dims,y_Rank,capi_y_intent,y_capi);
+  if (capi_y_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 7th argument `y' of dfitpack.bispev to C/Fortran array" );
+  } else {
+    y = (double *)(capi_y_tmp->data);
+
+  /* Processing variable x */
+  ;
+  capi_x_intent |= F2PY_INTENT_IN;
+  capi_x_tmp = array_from_pyobj(PyArray_DOUBLE,x_Dims,x_Rank,capi_x_intent,x_capi);
+  if (capi_x_tmp == NULL) {
+    if (!PyErr_Occurred())
+      PyErr_SetString(dfitpack_error,"failed in converting 6th argument `x' of dfitpack.bispev to C/Fortran array" );
+  } else {
+    x = (double *)(capi_x_tmp->data);
+
+  /* Processing variable ky */
+    f2py_success = int_from_pyobj(&ky,ky_ca