Index: sasmodels/models/bessel.py
===================================================================
--- sasmodels/models/bessel.py	(revision 07142f3db170174ebf3c5f6b28931ae502435967)
+++ sasmodels/models/bessel.py	(revision 07142f3db170174ebf3c5f6b28931ae502435967)
@@ -0,0 +1,92 @@
+r"""
+For information about polarised and magnetic scattering, click here_.
+
+.. _here: polar_mag_help.html
+
+Definition
+----------
+
+The 1D scattering intensity is calculated in the following way (Guinier, 1955)
+
+.. math::
+
+    I(q) = \frac{\text{scale}}{V} \cdot \left[
+        3V(\Delta\rho) \cdot \frac{\sin(qr) - qr\cos(qr))}{(qr)^3}
+        \right]^2 + \text{background}
+
+where *scale* is a volume fraction, $V$ is the volume of the scatterer,
+$r$ is the radius of the sphere, *background* is the background level and
+*sld* and *solvent_sld* are the scattering length densities (SLDs) of the
+scatterer and the solvent respectively.
+
+Note that if your data is in absolute scale, the *scale* should represent
+the volume fraction (which is unitless) if you have a good fit. If not,
+it should represent the volume fraction times a factor (by which your data
+might need to be rescaled).
+
+The 2D scattering intensity is the same as above, regardless of the
+orientation of $\vec q$.
+
+Validation
+----------
+
+Validation of our code was done by comparing the output of the 1D model
+to the output of the software provided by the NIST (Kline, 2006).
+Figure :num:`figure #sphere-comparison` shows a comparison of the output
+of our model and the output of the NIST software.
+
+.. _sphere-comparison:
+
+.. figure:: img/sphere_comparison.jpg
+
+    Comparison of the DANSE scattering intensity for a sphere with the
+    output of the NIST SANS analysis software. The parameters were set to:
+    *scale* = 1.0, *radius* = 60 |Ang|, *contrast* = 1e-6 |Ang^-2|, and
+    *background* = 0.01 |cm^-1|.
+
+
+References
+----------
+
+A Guinier and G. Fournet, *Small-Angle Scattering of X-Rays*,
+John Wiley and Sons, New York, (1955)
+
+*2013/09/09 and 2014/01/06 - Description reviewed by S King and P Parker.*
+"""
+
+from numpy import inf
+
+name = "bessel"
+title = "Bessel function testing"
+description = """\
+Levraging current infrastracture to test Bessel function performance on
+"""
+category = "special_fucntions:bessel"
+
+#             ["name", "units", default, [lower, upper], "type","description"],
+#Bessel
+parameters = [
+             ]
+
+source = ["lib/polevl.c", "lib/j1d.c"]
+
+# No volume normalization despite having a volume parameter
+# This should perhaps be volume normalized?
+form_volume = """
+    """
+
+Iq = """
+    return j1(q);
+    """
+
+Iqxy = """
+    // never called since no orientation or magnetic parameters.
+    //return -1.0;
+    """
+
+# VR defaults to 1.0
+
+demo = dict(scale=1, background=0,
+            )
+oldname = "Bessel"
+oldpars = dict()
Index: sasmodels/models/lib/j0d.c
===================================================================
--- sasmodels/models/lib/j0d.c	(revision 0a9d21936ceb8c9316bfd9de49f989fecffc9413)
+++ sasmodels/models/lib/j0d.c	(revision 07142f3db170174ebf3c5f6b28931ae502435967)
@@ -99,5 +99,5 @@
 
 //Cephes single precission
-if ( FLOAT_SIZE>4 ) {
+#if FLOAT_SIZE>4
     double w, z, p, q, xn;
 
@@ -222,7 +222,6 @@
 
     return( p * SQ2OPI / sqrt(x) );
-}
 //Cephes single precission
-else {
+#else
     double xx, w, z, p, q, xn;
 
@@ -299,6 +298,7 @@
     p = p * cosf(xn + xx);
     return(p);
+#endif
+
 }
-}
-
-
+
+
Index: sasmodels/models/lib/j1d.c
===================================================================
--- sasmodels/models/lib/j1d.c	(revision 0a9d21936ceb8c9316bfd9de49f989fecffc9413)
+++ sasmodels/models/lib/j1d.c	(revision 07142f3db170174ebf3c5f6b28931ae502435967)
@@ -81,5 +81,5 @@
 
 //Cephes double pression function
-if (FLOAT_SIZE>4) {
+#if FLOAT_SIZE>4
 
     double w, z, p, q, xn;
@@ -183,7 +183,7 @@
     return( p * SQ2OPI / sqrt(x) );
 
-}
+
 //Single precission version of cephes
-else {
+#else
     double xx, w, z, p, q, xn;
 
@@ -245,5 +245,5 @@
 
     return(p);
+#endif
 }
-}
-
+
Index: sasmodels/models/lib/jnd.c
===================================================================
--- sasmodels/models/lib/jnd.c	(revision 0a9d21936ceb8c9316bfd9de49f989fecffc9413)
+++ sasmodels/models/lib/jnd.c	(revision 07142f3db170174ebf3c5f6b28931ae502435967)
@@ -82,8 +82,9 @@
 	    return( 0.0 );
 
-    if (FLOAT_SIZE > 4)
+    #if FLOAT_SIZE > 4
         k = 53;
-    else
+    #else
         k = 24;
+    #endif
 
     pk = 2 * (n + k);
@@ -100,5 +101,5 @@
     pk = 1.0;
 
-    if (FLOAT_SIZE > 4) {
+    #if FLOAT_SIZE > 4
         ans = x/ans;
         pkm1 = 1.0/ans;
@@ -120,6 +121,6 @@
 
 	    return( sign * ans );
-	}
-    else {
+
+    #else
         xinv = 1.0/x;
         pkm1 = ans * xinv;
@@ -147,5 +148,5 @@
 	        ans = sign * j0(x)/pkm1;
         return( ans );
-    }
+    #endif
 }
 
