--- a/src/buildgsl_sf.sh
+++ b/src/buildgsl_sf.sh
@@ -16,9 +16,10 @@
# list of missing functions surrounded by spaces
#
#
-# R. Rogers 4/23/2008  Added Confluent hypergeometric entries, Removed "'"
-#       here and there.
-# 	.  If you have problems	with this blame the klutz (me).
+# R. Rogers 4/23/2008  Added Confluent hypergeometric entries replace "'s"
+# 	"\'s" for descriptions; in other cases removed.  If you have
+#	with this blame the klutz (me).
+# R. Rogers 6/18/2008   Added some ellint documentation.
#
missing=" \$* "
cat <<EOF >gsl_sf.cc
@@ -45,7 +46,7 @@
export    funcname=gsl_sf_dawson
cat << \EOF > docstring.txt
The Dawson integral is defined by \exp(-x^2) \int_0^x dt \exp(t^2).
-A table of Dawson's integral can be found in Abramowitz & Stegun, Table 7.5.
+A table of Dawson integral can be found in Abramowitz & Stegun, Table 7.5.
EOF
./replace_template.sh double_to_double.cc.template >> gsl_sf.cc

@@ -144,7 +145,7 @@
export    funcname=gsl_sf_hazard
cat << \EOF > docstring.txt
The hazard function for the normal distrbution, also known as the
-inverse Mill's ratio, is defined as
+inverse Mill\'s ratio, is defined as
h(x) = Z(x)/Q(x) = \sqrt@{2/\pi \exp(-x^2 / 2) / \erfc(x/\sqrt 2)@}.
It decreases rapidly as x approaches -\infty and asymptotes to
h(x) \sim x as x approaches +\infty.
@@ -344,7 +345,7 @@
cat << \EOF > docstring.txt
These compute the principal branch of the Lambert W function, W_0(x).

-Lambert's W functions, W(x), are defined to be solutions of the
+Lambert\'s W functions, W(x), are defined to be solutions of the
equation W(x) \exp(W(x)) = x. This function has multiple branches
for x < 0; however, it has only two real-valued branches.
We define W_0(x) to be the principal branch, where W > -1 for x < 0,
@@ -359,7 +360,7 @@
These compute the secondary real-valued branch of the Lambert
W function, W_@{-1@}(x).

-Lambert's W functions, W(x), are defined to be solutions of the
+Lambert\'s W functions, W(x), are defined to be solutions of the
equation W(x) \exp(W(x)) = x. This function has multiple branches
for x < 0; however, it has only two real-valued branches.
We define W_0(x) to be the principal branch, where W > -1 for x < 0,
@@ -925,7 +926,7 @@
export octave_name=airy_Ai_deriv
export    funcname=gsl_sf_airy_Ai_deriv
cat << \EOF > docstring.txt
-These routines compute the Airy function derivative Ai(x) with an
+These routines compute the Airy function derivative Ai'(x) with an
accuracy specified by mode.
EOF
./replace_template.sh double_mode_to_double.cc.template >> gsl_sf.cc
@@ -934,7 +935,7 @@
export octave_name=airy_Bi_deriv
export    funcname=gsl_sf_airy_Bi_deriv
cat << \EOF > docstring.txt
-These routines compute the Airy function derivative Bi(x) with an
+These routines compute the Airy function derivative Bi'(x) with an
accuracy specified by mode.
EOF
./replace_template.sh double_mode_to_double.cc.template >> gsl_sf.cc
@@ -961,8 +962,57 @@
export octave_name=ellint_Kcomp
export    funcname=gsl_sf_ellint_Kcomp
cat << \EOF > docstring.txt
-These routines compute the complete elliptic integral K(k) to the
-accuracy specified by the mode variable mode.
+These routines compute the complete elliptic integral K(k)
+@tex
+\beforedisplay
++\eqalign{ +K(k) &= \int_0^{\pi/2} {dt \over \sqrt{(1 - k^2 \sin^2(t))}} \cr +} +
+\afterdisplay
+@end tex
+@ifinfo
+@group
+@example
+                              pi
+                              ---
+                               2
+                             /
+                             |             1
+          ellint_Kcomp(k)  = |    ------------------- dt
+                             |              2   2
+                             /    sqrt(1 - k sin (t))
+                              0
+
+@end example
+@end group
+@end ifinfo
+@ifhtml
+@group
+@example
+                              pi
+                              ---
+                               2
+                             /
+                             |             1
+          ellint_Kcomp(k)  = |    ------------------- dt
+                             |              2   2
+                             /    sqrt(1 - k sin (t))
+                              0
+
+@end example
+@end group
+@end ifhtml
+
+@seealso{ellipj, ellipke}
+
+The notation used here is based on Carlson, @cite{Numerische
+Mathematik} 33 (1979) and differs slightly from that used by
+Abramowitz & Stegun, where the functions are given in terms of the
+parameter @math{m = k^2}.
+
EOF
./replace_template.sh double_mode_to_double.cc.template >> gsl_sf.cc

@@ -972,6 +1022,57 @@
cat << \EOF > docstring.txt
These routines compute the complete elliptic integral E(k) to the
accuracy specified by the mode variable mode.
+
+@tex
+\beforedisplay
++\eqalign{ +E(k) &= \int_0^{\pi/2} \sqrt{(1 - k^2 \sin^2(t))} dt \cr +} +
+\afterdisplay
+
+@end tex
+@ifinfo
+@group
+@example
+                               pi
+                              ---
+                               2
+                             /
+                             |              2    2
+         ellint_Ecomp(k)  =  |    sqrt(1 - k sin (t)) dt
+                             |
+                             /
+                              0
+
+@end example
+@end group
+@end ifinfo
+@ifhtml
+@group
+@example
+                               pi
+                              ---
+                               2
+                             /
+                             |              2    2
+         ellint_Ecomp(k)  =  |    sqrt(1 - k sin (t)) dt
+                             |
+                             /
+                              0
+
+@end example
+@end group
+@end ifhtml
+
+@seealso{ellipj, ellipke}
+
+The notation used here is based on Carlson, @cite{Numerische
+Mathematik} 33 (1979) and differs slightly from that used by
+Abramowitz & Stegun, where the functions are given in terms of the
+parameter @math{m = k^2}.
EOF
./replace_template.sh double_mode_to_double.cc.template >> gsl_sf.cc

@@ -1081,18 +1182,20 @@
EOF
./replace_template.sh int_int_double_to_double.cc.template >> gsl_sf.cc

+
export octave_name=hyperg_U
export    funcname=gsl_sf_hyperg_U
cat << \EOF > docstring.txt
-Secondary Confluent Hypergoemetric U function A&S 13.1.3
-All input are double as is the output.
+Secondary Confluent Hypergoemetric U function A&E 13.1.3
+All inputs are double as is the output.
EOF
./replace_template.sh DDD_to_D.cc.template >> gsl_sf.cc
+

export octave_name=hyperg_1F1
export    funcname=gsl_sf_hyperg_1F1
cat << \EOF > docstring.txt
-Primary Confluent Hypergoemetric U function A&S 13.1.3
+Primary Confluent Hypergoemetric U function A&E 13.1.3
All inputs are double as is the output.
EOF
./replace_template.sh DDD_to_D.cc.template >> gsl_sf.cc