Index: sasmodels/models/pringle.c
===================================================================
--- sasmodels/models/pringle.c	(revision b70cb3b65351f9b9fb36c82c3c8117a33b289fb2)
+++ sasmodels/models/pringle.c	(revision b70cb3b65351f9b9fb36c82c3c8117a33b289fb2)
@@ -0,0 +1,207 @@
+double form_volume(double radius,
+          double thickness);
+
+double Iq(double q,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent);
+
+double Iqxy(double qx, double qy,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent);
+
+static
+double pringleC(double radius,
+                double alpha,
+                double beta,
+                double q,
+                double phi,
+                double n) {
+
+    double va, vb;
+    double bessargs, cosarg, bessargcb;
+    double r, retval, yyy;
+
+
+    va = 0;
+    vb = radius;
+
+    // evaluate at Gauss points
+    // remember to index from 0,size-1
+
+    double summ = 0.0;		// initialize integral
+    int ii = 0;
+    do {
+        // Using 76 Gauss points
+        r = (Gauss76Z[ii] * (vb - va) + vb + va) / 2.0;
+
+        bessargs = q*r*sin(phi);
+        cosarg = q*r*r*alpha*cos(phi);
+        bessargcb = q*r*r*beta*cos(phi);
+
+        yyy = Gauss76Wt[ii]*r*cos(cosarg)
+                *sas_JN(n, bessargcb)
+                *sas_JN(2*n, bessargs);
+        summ += yyy;
+
+        ii += 1;
+    } while (ii < N_POINTS_76);			// end of loop over quadrature points
+    //
+    // calculate value of integral to return
+
+    retval = (vb - va) / 2.0 * summ;
+    retval = retval / pow(r, 2.0);
+
+    return retval;
+}
+
+static
+double pringleS(double radius,
+                double alpha,
+                double beta,
+                double q,
+                double phi,
+                double n) {
+
+    double va, vb, summ;
+    double bessargs, sinarg, bessargcb;
+    double r, retval, yyy;
+    // set up the integration
+    // end points and weights
+
+    va = 0;
+    vb = radius;
+
+    // evaluate at Gauss points
+    // remember to index from 0,size-1
+
+    summ = 0.0;		// initialize integral
+    int ii = 0;
+    do {
+        // Using 76 Gauss points
+        r = (Gauss76Z[ii] * (vb - va) + vb + va) / 2.0;
+
+        bessargs = q*r*sin(phi);
+        sinarg = q*r*r*alpha*cos(phi);
+        bessargcb = q*r*r*beta*cos(phi);
+
+        yyy = Gauss76Wt[ii]*r*sin(sinarg)
+                    *sas_JN(n, bessargcb)
+                    *sas_JN(2*n, bessargs);
+        summ += yyy;
+
+        ii += 1;
+    } while (ii < N_POINTS_76);
+
+    // end of loop over quadrature points
+    //
+    // calculate value of integral to return
+
+    retval = (vb-va)/2.0*summ;
+    retval = retval/pow(r, 2.0);
+
+    return retval;
+}
+
+static
+double _kernel(double thickness,
+               double radius,
+               double alpha,
+               double beta,
+               double q,
+               double phi) {
+
+    const double sincarg = q * thickness * cos(phi) / 2.0;
+    const double sincterm = pow(sin(sincarg) / sincarg, 2.0);
+
+    //calculate sum term from n = -3 to 3
+    double sumterm = 0.0;
+    for (int nn = -3; nn <= 3; nn++) {
+        double powc = pringleC(radius, alpha, beta, q, phi, nn);
+        double pows = pringleS(radius, alpha, beta, q, phi, nn);
+        sumterm += pow(powc, 2.0) + pow(pows, 2.0);
+    }
+    double retval = 4.0 * sin(phi) * sumterm * sincterm;
+
+    return retval;
+
+}
+
+static double pringles_kernel(double q,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent)
+{
+
+    //upper and lower integration limits
+    const double lolim = 0.0;
+    const double uplim = M_PI / 2.0;
+
+    double summ = 0.0;			//initialize integral
+
+    double delrho = sld_pringle - sld_solvent; //make contrast term
+
+    for (int i = 0; i < N_POINTS_76; i++) {
+        double phi = (Gauss76Z[i] * (uplim - lolim) + uplim + lolim) / 2.0;
+        summ += Gauss76Wt[i] * _kernel(thickness, radius, alpha, beta, q, phi);
+    }
+
+    double answer = (uplim - lolim) / 2.0 * summ;
+    answer *= delrho*delrho;
+
+    return answer;
+}
+
+double form_volume(double radius,
+        double thickness){
+
+        return 1.0;
+}
+
+double Iq(double q,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent)
+{
+    const double form = pringles_kernel(q,
+                  radius,
+                  thickness,
+                  alpha,
+                  beta,
+                  sld_pringle,
+                  sld_solvent);
+
+    return 1.0e-4*form*M_PI*radius*radius*thickness;
+}
+
+double Iqxy(double qx, double qy,
+            double radius,
+            double thickness,
+            double alpha,
+            double beta,
+            double sld_pringle,
+            double sld_solvent)
+{
+    double q = sqrt(qx*qx + qy*qy);
+    return Iq(q,
+            radius,
+            thickness,
+            alpha,
+            beta,
+            sld_pringle,
+            sld_solvent);
+}
+
Index: sasmodels/models/pringle.py
===================================================================
--- sasmodels/models/pringle.py	(revision b70cb3b65351f9b9fb36c82c3c8117a33b289fb2)
+++ sasmodels/models/pringle.py	(revision b70cb3b65351f9b9fb36c82c3c8117a33b289fb2)
@@ -0,0 +1,140 @@
+r"""
+This model provides the form factor, $P(q)$, for a 'pringle' or 'saddle-shaped'
+object (a hyperbolic paraboloid).
+
+.. figure:: img/pringles_fig1.png
+
+    (Graphic from Matt Henderson, matt@matthen.com)
+
+The returned value is in units of cm-1, on absolute scale.
+
+Definition
+----------
+
+The form factor calculated is
+
+.. math::
+
+    I(q) = (\Delta \rho )^2 V \int^{\pi/2}_0 d\psi \sin{\psi} sinc^2
+    \left( \frac{qd\cos{\psi}}{2} \right)
+    \left[ \left( S^2_0+C^2_0\right) + 2\sum_{n=1}^{\infty}
+     \left( S^2_0+C^2_0\right) \right]
+
+where
+
+.. math::
+
+    C_n = \int^{R}_{0} r dr\cos{qr^2\alpha \cos{\psi}}
+    J_n\left( qr^2\beta \cos{\psi}\right)
+    J_{2n}\left( qr \sin{\psi}\right)
+
+.. math::
+
+    S_n = \int^{R}_{0} r dr\sin{qr^2\alpha \cos{\psi}}
+    J_n\left( qr^2\beta \cos{\psi}\right)
+    J_{2n}\left( qr \sin{\psi}\right)
+
+
+.. figure:: img/pringle-vs-cylinder.png
+
+    1D plot using the default values (with 150 data points).
+
+Reference
+---------
+
+S Alexandru Rautu, Private Communication.
+
+"""
+
+from numpy import inf, pi
+
+name = "pringles"
+title = "Pringles model for K Edler. Represents a disc that is bent in two directions."
+description = """\
+
+"""
+category = "shape:cylinder"
+
+# pylint: disable=bad-whitespace, line-too-long
+#   ["name", "units", default, [lower, upper], "type","description"],
+parameters = [
+    ["radius",      "Ang",         60.0,   [0, inf],    "volume", "Pringle radius"],
+    ["thickness",   "Ang",         10.0,   [0, inf],    "volume", "Thickness of pringle"],
+    ["alpha",       "",            0.001,  [-inf, inf], "", "Curvature parameter"],
+    ["beta",        "",            0.02,   [-inf, inf], "", "Curvature paramter"],
+    ["sld_pringle", "1e-6/Ang^2",  1.0,    [-inf, inf], "", "Fractal exponent"],
+    ["sld_solvent", "1e-6/Ang^2",  6.3,    [-inf, inf], "", "Correlation length"]
+    ]
+# pylint: enable=bad-whitespace, line-too-long
+
+source = ["lib/polevl.c", "lib/sas_J0.c", "lib/sas_J1.c", \
+          "lib/sas_JN.c", "lib/gauss76.c", "pringle.c"]
+
+def ER(radius, thickness):
+    """
+        Return equivalent radius (ER)
+    """
+    ddd = 0.75 * radius * (2 * radius * thickness + (thickness + radius) \
+                           * (thickness + pi * radius))
+    return 0.5 * (ddd) ** (1. / 3.)
+
+demo = dict(background=0.0,
+            scale=1.0,
+            radius=60.0,
+            thickness=10.0,
+            alpha=0.001,
+            beta=0.02,
+            sld_pringle=1.0,
+            sld_solvent=6.35)
+
+oldname = 'PringlesModel'
+oldpars = dict(background='background',
+               scale='scale',
+               radius='radius',
+               thickness='thickness',
+               alpha='alpha',
+               beta='beta',
+               pringle_sld='sld_pringle',
+               solvent_sld='sld_solvent')
+
+tests = [
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, 0.1, 16.185532],
+
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, 0.01, 297.153496],
+
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, 0.001, 324.021256415],
+
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, (0.001, 90.0), 6.30000026876],
+]
Index: sasmodels/models/pringles.c
===================================================================
--- sasmodels/models/pringles.c	(revision 9da407c2d34ec77262b860b94de98c7474780cac)
+++ 	(revision )
@@ -1,207 +1,0 @@
-double form_volume(double radius,
-          double thickness);
-
-double Iq(double q,
-          double radius,
-          double thickness,
-          double alpha,
-          double beta,
-          double sld_pringle,
-          double sld_solvent);
-
-double Iqxy(double qx, double qy,
-          double radius,
-          double thickness,
-          double alpha,
-          double beta,
-          double sld_pringle,
-          double sld_solvent);
-
-static
-double pringleC(double radius,
-                double alpha,
-                double beta,
-                double q,
-                double phi,
-                double n) {
-
-    double va, vb;
-    double bessargs, cosarg, bessargcb;
-    double r, retval, yyy;
-
-
-    va = 0;
-    vb = radius;
-
-    // evaluate at Gauss points
-    // remember to index from 0,size-1
-
-    double summ = 0.0;		// initialize integral
-    int ii = 0;
-    do {
-        // Using 76 Gauss points
-        r = (Gauss76Z[ii] * (vb - va) + vb + va) / 2.0;
-
-        bessargs = q*r*sin(phi);
-        cosarg = q*r*r*alpha*cos(phi);
-        bessargcb = q*r*r*beta*cos(phi);
-
-        yyy = Gauss76Wt[ii]*r*cos(cosarg)
-                *sas_JN(n, bessargcb)
-                *sas_JN(2*n, bessargs);
-        summ += yyy;
-
-        ii += 1;
-    } while (ii < N_POINTS_76);			// end of loop over quadrature points
-    //
-    // calculate value of integral to return
-
-    retval = (vb - va) / 2.0 * summ;
-    retval = retval / pow(r, 2.0);
-
-    return retval;
-}
-
-static
-double pringleS(double radius,
-                double alpha,
-                double beta,
-                double q,
-                double phi,
-                double n) {
-
-    double va, vb, summ;
-    double bessargs, sinarg, bessargcb;
-    double r, retval, yyy;
-    // set up the integration
-    // end points and weights
-
-    va = 0;
-    vb = radius;
-
-    // evaluate at Gauss points
-    // remember to index from 0,size-1
-
-    summ = 0.0;		// initialize integral
-    int ii = 0;
-    do {
-        // Using 76 Gauss points
-        r = (Gauss76Z[ii] * (vb - va) + vb + va) / 2.0;
-
-        bessargs = q*r*sin(phi);
-        sinarg = q*r*r*alpha*cos(phi);
-        bessargcb = q*r*r*beta*cos(phi);
-
-        yyy = Gauss76Wt[ii]*r*sin(sinarg)
-                    *sas_JN(n, bessargcb)
-                    *sas_JN(2*n, bessargs);
-        summ += yyy;
-
-        ii += 1;
-    } while (ii < N_POINTS_76);
-
-    // end of loop over quadrature points
-    //
-    // calculate value of integral to return
-
-    retval = (vb-va)/2.0*summ;
-    retval = retval/pow(r, 2.0);
-
-    return retval;
-}
-
-static
-double _kernel(double thickness,
-               double radius,
-               double alpha,
-               double beta,
-               double q,
-               double phi) {
-
-    const double sincarg = q * thickness * cos(phi) / 2.0;
-    const double sincterm = pow(sin(sincarg) / sincarg, 2.0);
-
-    //calculate sum term from n = -3 to 3
-    double sumterm = 0.0;
-    for (int nn = -3; nn <= 3; nn++) {
-        double powc = pringleC(radius, alpha, beta, q, phi, nn);
-        double pows = pringleS(radius, alpha, beta, q, phi, nn);
-        sumterm += pow(powc, 2.0) + pow(pows, 2.0);
-    }
-    double retval = 4.0 * sin(phi) * sumterm * sincterm;
-
-    return retval;
-
-}
-
-static double pringles_kernel(double q,
-          double radius,
-          double thickness,
-          double alpha,
-          double beta,
-          double sld_pringle,
-          double sld_solvent)
-{
-
-    //upper and lower integration limits
-    const double lolim = 0.0;
-    const double uplim = M_PI / 2.0;
-
-    double summ = 0.0;			//initialize integral
-
-    double delrho = sld_pringle - sld_solvent; //make contrast term
-
-    for (int i = 0; i < N_POINTS_76; i++) {
-        double phi = (Gauss76Z[i] * (uplim - lolim) + uplim + lolim) / 2.0;
-        summ += Gauss76Wt[i] * _kernel(thickness, radius, alpha, beta, q, phi);
-    }
-
-    double answer = (uplim - lolim) / 2.0 * summ;
-    answer *= delrho*delrho;
-
-    return answer;
-}
-
-double form_volume(double radius,
-        double thickness){
-
-        return 1.0;
-}
-
-double Iq(double q,
-          double radius,
-          double thickness,
-          double alpha,
-          double beta,
-          double sld_pringle,
-          double sld_solvent)
-{
-    const double form = pringles_kernel(q,
-                  radius,
-                  thickness,
-                  alpha,
-                  beta,
-                  sld_pringle,
-                  sld_solvent);
-
-    return 1.0e-4*form*M_PI*radius*radius*thickness;
-}
-
-double Iqxy(double qx, double qy,
-            double radius,
-            double thickness,
-            double alpha,
-            double beta,
-            double sld_pringle,
-            double sld_solvent)
-{
-    double q = sqrt(qx*qx + qy*qy);
-    return Iq(q,
-            radius,
-            thickness,
-            alpha,
-            beta,
-            sld_pringle,
-            sld_solvent);
-}
-
Index: sasmodels/models/pringles.py
===================================================================
--- sasmodels/models/pringles.py	(revision 91b8b8012f4f43180d315ab367bd5b59ddaaf5eb)
+++ 	(revision )
@@ -1,140 +1,0 @@
-r"""
-This model provides the form factor, $P(q)$, for a 'pringle' or 'saddle-shaped'
-object (a hyperbolic paraboloid).
-
-.. figure:: img/pringles_fig1.png
-
-    (Graphic from Matt Henderson, matt@matthen.com)
-
-The returned value is in units of cm-1, on absolute scale.
-
-Definition
-----------
-
-The form factor calculated is
-
-.. math::
-
-    I(q) = (\Delta \rho )^2 V \int^{\pi/2}_0 d\psi \sin{\psi} sinc^2
-    \left( \frac{qd\cos{\psi}}{2} \right)
-    \left[ \left( S^2_0+C^2_0\right) + 2\sum_{n=1}^{\infty}
-     \left( S^2_0+C^2_0\right) \right]
-
-where
-
-.. math::
-
-    C_n = \int^{R}_{0} r dr\cos{qr^2\alpha \cos{\psi}}
-    J_n\left( qr^2\beta \cos{\psi}\right)
-    J_{2n}\left( qr \sin{\psi}\right)
-
-.. math::
-
-    S_n = \int^{R}_{0} r dr\sin{qr^2\alpha \cos{\psi}}
-    J_n\left( qr^2\beta \cos{\psi}\right)
-    J_{2n}\left( qr \sin{\psi}\right)
-
-
-.. figure:: img/pringle-vs-cylinder.png
-
-    1D plot using the default values (with 150 data points).
-
-Reference
----------
-
-S Alexandru Rautu, Private Communication.
-
-"""
-
-from numpy import inf, pi
-
-name = "pringles"
-title = "Pringles model for K Edler. Represents a disc that is bent in two directions."
-description = """\
-
-"""
-category = "shape:cylinder"
-
-# pylint: disable=bad-whitespace, line-too-long
-#   ["name", "units", default, [lower, upper], "type","description"],
-parameters = [
-    ["radius",      "Ang",         60.0,   [0, inf],    "volume", "Pringle radius"],
-    ["thickness",   "Ang",         10.0,   [0, inf],    "volume", "Thickness of pringle"],
-    ["alpha",       "",            0.001,  [-inf, inf], "", "Curvature parameter"],
-    ["beta",        "",            0.02,   [-inf, inf], "", "Curvature paramter"],
-    ["sld_pringle", "1e-6/Ang^2",  1.0,    [-inf, inf], "", "Fractal exponent"],
-    ["sld_solvent", "1e-6/Ang^2",  6.3,    [-inf, inf], "", "Correlation length"]
-    ]
-# pylint: enable=bad-whitespace, line-too-long
-
-source = ["lib/polevl.c", "lib/sas_J0.c", "lib/sas_J1.c", \
-          "lib/sas_JN.c", "lib/gauss76.c", "pringles.c"]
-
-def ER(radius, thickness):
-    """
-        Return equivalent radius (ER)
-    """
-    ddd = 0.75 * radius * (2 * radius * thickness + (thickness + radius) \
-                           * (thickness + pi * radius))
-    return 0.5 * (ddd) ** (1. / 3.)
-
-demo = dict(background=0.0,
-            scale=1.0,
-            radius=60.0,
-            thickness=10.0,
-            alpha=0.001,
-            beta=0.02,
-            sld_pringle=1.0,
-            sld_solvent=6.35)
-
-oldname = 'PringlesModel'
-oldpars = dict(background='background',
-               scale='scale',
-               radius='radius',
-               thickness='thickness',
-               alpha='alpha',
-               beta='beta',
-               pringle_sld='sld_pringle',
-               solvent_sld='sld_solvent')
-
-tests = [
-    [{'scale' : 1.0,
-      'radius': 60.0,
-      'thickness': 10.0,
-      'alpha': 0.001,
-      'beta': 0.02,
-      'sld_pringle': 1.0,
-      'sld_solvent': 6.3,
-      'background': 6.3,
-     }, 0.1, 16.185532],
-
-    [{'scale' : 1.0,
-      'radius': 60.0,
-      'thickness': 10.0,
-      'alpha': 0.001,
-      'beta': 0.02,
-      'sld_pringle': 1.0,
-      'sld_solvent': 6.3,
-      'background': 6.3,
-     }, 0.01, 297.153496],
-
-    [{'scale' : 1.0,
-      'radius': 60.0,
-      'thickness': 10.0,
-      'alpha': 0.001,
-      'beta': 0.02,
-      'sld_pringle': 1.0,
-      'sld_solvent': 6.3,
-      'background': 6.3,
-     }, 0.001, 324.021256415],
-
-    [{'scale' : 1.0,
-      'radius': 60.0,
-      'thickness': 10.0,
-      'alpha': 0.001,
-      'beta': 0.02,
-      'sld_pringle': 1.0,
-      'sld_solvent': 6.3,
-      'background': 6.3,
-     }, (0.001, 90.0), 6.30000026876],
-]
