I really, really, really like the Cephes module and a lot of the work
Travis Oliphant has been doing on Numeric Python. Nice to see Numeric
getting more and more powerful all the time.
However, as more and more functions get added to the libraries, their
names become more and more obscure, and it sure would be nice to have
doc-strings for them. For the stock Numeric ufuncs like "add", the
meanings are self-evident, but things like "pdtri" and "incbet" are a
bit less obvious.
(One of my pet peeves with Python is that there are so many functions
and classes with empty doc-strings. Bit by bit, I'm trying to add
them in).
However, one little problem with the current Numeric implementation is
that ufunc objects don't have support for a doc string, the doc string
is hardwired in the type object, and comes up as:
"Optimizied FUNCtions make it possible to implement arithmetic with
matrices efficiently"
This is not only non-helpful, it's misspelled ("Optimizied"?)
Well, according to the charter, a well-behaved Nummie will
"Fix bugs at will, without prior consultation."
But a well-behaved Nummie wil also
"Add new features only after consultation with other Nummies"
So, I hereby declare doing something about the useless doc-strings to
be fixing a bug and not adding a feature ;-)
The patch below adds doc strings to all the ufuncs in the Cephes
module. They are automatically extracted from the HTML documentation
for the Cephes module. (In the process of doing this, I also added
some missing items to said HTML documentation).
This patch depends on another patch, which I am submitting via the
SourceForge, which allows ufunc objects to have doc strings.
With these patches, you get this:
>>> import cephes
>>> print cephes.incbet.__doc__
incbet(a,b,x) returns the incomplete beta integral of the
arguments, evaluated from zero to x: gamma(a+b) / (gamma(a)*gamma(b))
* integral(t**(a-1) (1-t)**(b-1), t=0..x).
instead of this:
>>> print cephes.incbet.__doc__
Optimizied FUNCtions make it possible to implement arithmetic with
matrices efficiently
Isn't that nicer?
"Ni-Ni-Numpy!"
Here's the "gendoc.py" script to pull the docstrings out of
included_functions.h:
#!/usr/bin/env python
"""generate cephes_doc.h from included_functions.html"""
import string
def parse(infile):
d={}
key=None
val=''
for line in infile.readlines():
if not string.strip(line):
continue
if line[0]=='<':
if key and val:
d[key]=string.strip(val)
key,val=None,None
if line[:4]=='<DT>':
tok=string.split(line)
tok=string.split(tok[-1],'(')
key=tok[0]
elif line[:4]=='<DD>' and key:
val=line[4:]
else:
if val:
val=val+line
return d
if __name__=="__main__":
d = parse(open("docs/included_functions.html",'r'))
keys = d.keys()
keys.sort()
ofile=open("cephes_doc.h",'w')
for key in keys:
ofile.write('#define %s_doc "%s"\n'%(key,repr(d[key])[1:-1]))
ofile.close()
And here are the patches to cephes:
--- cephes-1.2/Makefile Tue Dec 28 15:53:11 1999
+++ cephes-1.2.cgw/Makefile Thu Mar 23 14:40:02 2000
@@ -15,8 +15,11 @@
$(FC) -shared $(FFLAGS) -o cephesmodule.so $(OBJS) \
-L./cephes -lcephes -L./amos -lamos -L./toms -ltoms
-cephesmodule.o: cephesmodule.c
+cephesmodule.o: cephesmodule.c cephes_doc.h
$(CC) -c $(CFLAGS) -fPIC cephesmodule.c
+
+cephes_doc.h: docs/included_functions.html
+ python gendoc.py
amos/libamos.a:
cd amos && make CC=$(CC) CFLAGS="$(CFLAGS)" FC=$(FC) FFLAGS="$(FFLAGS)"
--- cephes-1.2/docs/included_functions.html Sat Mar 27 00:27:18 1999
+++ cephes-1.2.cgw/docs/included_functions.html Thu Mar 23 14:39:03 2000
@@ -7,7 +7,7 @@
<DT>(Ai,Aip,Bi,Bip) = airy(z)
<DD>airy(z) calculates the Airy functions and their derivatives
evaluated at real or complex number z. The Airy functions Ai and Bi
-are two independent solutions of y"(x)=xy. Aip and Bip are the first derivatives
+are two independent solutions of y''(x)=xy. Aip and Bip are the first derivatives
evaluated at x of Ai and Bi respectively.
<DT>(Aie,Aipe,Bie,Bipe) = airye(z)
@@ -19,7 +19,7 @@
<h1> Elliptic Functions and Integrals </h1>
<DL>
-<DT>(sn,cn,dn,ph) = ellpj_sn(u,m)
+<DT>(sn,cn,dn,ph) = ellpj(u,m)
<DD>ellpj calculates the Jacobian elliptic functions of
parameter m between 0 and 1, and real u. The returned functions are
often written sn(u|m), cn(u|m), and dn(u|m). The value of ph is such
@@ -430,11 +430,12 @@
<DT>y = cosm1(x)
<DD>calculates cos(x) - 1 for use when x is near zero.
-</DL>
-
-
-
+<DT>y = round(x)
+<DD>Returns the nearest integer to x as a double precision
+floating point result. If x ends in 0.5 exactly, the
+nearest even integer is chosen.
+</DL>
--- cephes-1.2/cephesmodule.c Tue Dec 28 15:32:26 1999
+++ cephes-1.2.cgw/cephesmodule.c Thu Mar 23 14:24:37 2000
@@ -23,6 +23,8 @@
#include <math.h>
#endif
+#include "cephes_doc.h"
+
static PyUFuncGenericFunction cephes1_functions[] = { NULL, NULL, };
static PyUFuncGenericFunction cephes1_2_functions[] = { NULL, NULL, };
static PyUFuncGenericFunction cephes1c_4_functions[] = { NULL, NULL, NULL, NULL };
@@ -220,335 +222,435 @@
/* Create function objects for each function call and insert
them in the dictionary */
- f = PyUFunc_FromFuncAndData(cephes3a_functions, bdtrc_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "bdtrc", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, bdtrc_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "bdtrc", bdtrc_doc, 1);
PyDict_SetItemString(dictionary, "bdtrc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, bdtr_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "bdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, bdtr_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "bdtr", bdtr_doc, 1);
PyDict_SetItemString(dictionary, "bdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, bdtri_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "bdtri", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, bdtri_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "bdtri", bdtri_doc, 1);
PyDict_SetItemString(dictionary, "bdtri", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3_functions, btdtr_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "btdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes3_functions, btdtr_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "btdtr", btdtr_doc, 1);
PyDict_SetItemString(dictionary, "btdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, fdtrc_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "fdtrc", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, fdtrc_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "fdtrc", fdtrc_doc, 1);
PyDict_SetItemString(dictionary, "fdtrc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, fdtr_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "fdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, fdtr_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "fdtr", fdtr_doc, 1);
PyDict_SetItemString(dictionary, "fdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, fdtri_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "fdtri", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, fdtri_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "fdtri", fdtri_doc, 1);
PyDict_SetItemString(dictionary, "fdtri", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3_functions, gdtrc_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "gdtrc", 1);
+ f = PyUFunc_FromFuncAndData(cephes3_functions, gdtrc_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "gdtrc", gdtrc_doc, 1);
PyDict_SetItemString(dictionary, "gdtrc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3_functions, gdtr_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "gdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes3_functions, gdtr_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "gdtr", gdtr_doc, 1);
PyDict_SetItemString(dictionary, "gdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes4_functions, hyp2f1_data, cephes_5_types, 2, 4, 1, PyUFunc_None, "hyp2f1", 1);
+ f = PyUFunc_FromFuncAndData(cephes4_functions, hyp2f1_data, cephes_5_types,
+ 2, 4, 1, PyUFunc_None, "hyp2f1", hyp2f1_doc, 1);
PyDict_SetItemString(dictionary, "hyp2f1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3_functions, hyperg_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "hyperg", 1);
+ f = PyUFunc_FromFuncAndData(cephes3_functions, hyperg_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "hyperg", hyperg_doc, 1);
PyDict_SetItemString(dictionary, "hyperg", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes4a_2_functions, hyp2f0_data, cephes_6_types, 2, 4, 2, PyUFunc_None, "hyp2f0", 1);
+ f = PyUFunc_FromFuncAndData(cephes4a_2_functions, hyp2f0_data, cephes_6_types,
+ 2, 4, 2, PyUFunc_None, "hyp2f0", hyp2f0_doc, 1);
PyDict_SetItemString(dictionary, "hyp2f0", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes4_2_functions, onef2_data, cephes_6_types, 2, 4, 2, PyUFunc_None, "onef2", 1);
+ f = PyUFunc_FromFuncAndData(cephes4_2_functions, onef2_data, cephes_6_types,
+ 2, 4, 2, PyUFunc_None, "onef2", onef2_doc, 1);
PyDict_SetItemString(dictionary, "onef2", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes4_2_functions, threef0_data, cephes_6_types, 2, 4, 2, PyUFunc_None, "threef0", 1);
+ f = PyUFunc_FromFuncAndData(cephes4_2_functions, threef0_data, cephes_6_types,
+ 2, 4, 2, PyUFunc_None, "threef0", threef0_doc, 1);
PyDict_SetItemString(dictionary, "threef0", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3_functions, incbet_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "incbet", 1);
+ f = PyUFunc_FromFuncAndData(cephes3_functions, incbet_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "incbet", incbet_doc, 1);
PyDict_SetItemString(dictionary, "incbet", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3_functions, incbi_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "incbi", 1);
+ f = PyUFunc_FromFuncAndData(cephes3_functions, incbi_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "incbi", incbi_doc, 1);
PyDict_SetItemString(dictionary, "incbi", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, nbdtrc_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "nbdtrc", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, nbdtrc_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "nbdtrc", nbdtrc_doc, 1);
PyDict_SetItemString(dictionary, "nbdtrc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, nbdtr_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "nbdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, nbdtr_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "nbdtr", nbdtr_doc, 1);
PyDict_SetItemString(dictionary, "nbdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3a_functions, nbdtri_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "nbdtri", 1);
+ f = PyUFunc_FromFuncAndData(cephes3a_functions, nbdtri_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "nbdtri", nbdtri_doc, 1);
PyDict_SetItemString(dictionary, "nbdtri", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, beta_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "beta", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, beta_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "beta", beta_doc, 1);
PyDict_SetItemString(dictionary, "beta", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, lbeta_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "lbeta", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, lbeta_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "lbeta", lbeta_doc, 1);
PyDict_SetItemString(dictionary, "lbeta", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, cbrt_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "cbrt", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, cbrt_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "cbrt", cbrt_doc, 1);
PyDict_SetItemString(dictionary, "cbrt", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, chdtrc_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "chdtrc", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, chdtrc_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "chdtrc", chdtrc_doc, 1);
PyDict_SetItemString(dictionary, "chdtrc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, chdtr_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "chdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, chdtr_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "chdtr", chdtr_doc, 1);
PyDict_SetItemString(dictionary, "chdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, chdtri_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "chdtri", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, chdtri_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "chdtri", chdtri_doc, 1);
PyDict_SetItemString(dictionary, "chdtri", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, dawsn_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "dawsn", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, dawsn_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "dawsn", dawsn_doc, 1);
PyDict_SetItemString(dictionary, "dawsn", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, ellie_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "ellie", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, ellie_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "ellie", ellie_doc, 1);
PyDict_SetItemString(dictionary, "ellie", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, ellik_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "ellik", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, ellik_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "ellik", ellik_doc, 1);
PyDict_SetItemString(dictionary, "ellik", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, ellpe_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "ellpe", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, ellpe_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "ellpe", ellpe_doc, 1);
PyDict_SetItemString(dictionary, "ellpe", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, ellpk_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "ellpk", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, ellpk_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "ellpk", ellpk_doc, 1);
PyDict_SetItemString(dictionary, "ellpk", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, exp10_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "exp10", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, exp10_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "exp10", exp10_doc, 1);
PyDict_SetItemString(dictionary, "exp10", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, exp2_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "exp2", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, exp2_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "exp2", exp2_doc, 1);
PyDict_SetItemString(dictionary, "exp2", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, Gamma_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "gamma", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, Gamma_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "gamma", gamma_doc, 1);
PyDict_SetItemString(dictionary, "gamma", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, lgam_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "lgam", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, lgam_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "lgam", lgam_doc, 1);
PyDict_SetItemString(dictionary, "lgam", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, i0_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "i0", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, i0_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "i0", i0_doc, 1);
PyDict_SetItemString(dictionary, "i0", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, i0e_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "i0e", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, i0e_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "i0e", i0e_doc, 1);
PyDict_SetItemString(dictionary, "i0e", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, i1_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "i1", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, i1_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "i1", i1_doc, 1);
PyDict_SetItemString(dictionary, "i1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, i1e_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "i1e", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, i1e_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "i1e", i1e_doc, 1);
PyDict_SetItemString(dictionary, "i1e", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, igamc_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "igamc", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, igamc_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "igamc", igamc_doc, 1);
PyDict_SetItemString(dictionary, "igamc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, igam_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "igam", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, igam_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "igam", igam_doc, 1);
PyDict_SetItemString(dictionary, "igam", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, igami_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "igami", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, igami_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "igami", igami_doc, 1);
PyDict_SetItemString(dictionary, "igami", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2c_functions, iv_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "iv", 1);
+ f = PyUFunc_FromFuncAndData(cephes2c_functions, iv_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "iv", iv_doc, 1);
PyDict_SetItemString(dictionary, "iv", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cp_functions, ive_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "ive", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cp_functions, ive_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "ive", ive_doc, 1);
PyDict_SetItemString(dictionary, "ive", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_4_functions, ellpj_data, cephes_6_types, 2, 2, 4, PyUFunc_None, "ellpj", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_4_functions, ellpj_data, cephes_6_types,
+ 2, 2, 4, PyUFunc_None, "ellpj", ellpj_doc, 1);
PyDict_SetItemString(dictionary, "ellpj", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, expn_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "expn", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, expn_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "expn", expn_doc, 1);
PyDict_SetItemString(dictionary, "expn", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, jn_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "jn", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, jn_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "jn", jn_doc, 1);
PyDict_SetItemString(dictionary, "jn", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, kn_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "kn", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, kn_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "kn", kn_doc, 1);
PyDict_SetItemString(dictionary, "kn", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, pdtrc_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "pdtrc", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, pdtrc_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "pdtrc", pdtrc_doc, 1);
PyDict_SetItemString(dictionary, "pdtrc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, pdtr_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "pdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, pdtr_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "pdtr", pdtr_doc, 1);
PyDict_SetItemString(dictionary, "pdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, pdtri_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "pdtri", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, pdtri_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "pdtri", pdtri_doc, 1);
PyDict_SetItemString(dictionary, "pdtri", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, stdtr_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "stdtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, stdtr_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "stdtr", stdtr_doc, 1);
PyDict_SetItemString(dictionary, "stdtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, stdtri_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "stdtri", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, stdtri_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "stdtri", stdtri_doc, 1);
PyDict_SetItemString(dictionary, "stdtri", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, yn_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "yn", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, yn_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "yn", yn_doc, 1);
PyDict_SetItemString(dictionary, "yn", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, smirnov_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "smirnov", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, smirnov_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "smirnov", smirnov_doc, 1);
PyDict_SetItemString(dictionary, "smirnov", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2a_functions, smirnovi_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "smirnovi", 1);
+ f = PyUFunc_FromFuncAndData(cephes2a_functions, smirnovi_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "smirnovi", smirnovi_doc, 1);
PyDict_SetItemString(dictionary, "smirnovi", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1c_4_functions, airy_data, cephes_5c_types, 4, 1, 4, PyUFunc_None, "airy", 1);
+ f = PyUFunc_FromFuncAndData(cephes1c_4_functions, airy_data, cephes_5c_types,
+ 4, 1, 4, PyUFunc_None, "airy", airy_doc, 1);
PyDict_SetItemString(dictionary, "airy", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1cp_4_functions, airye_data, cephes_5c_types, 4, 1, 4, PyUFunc_None, "airye", 1);
+ f = PyUFunc_FromFuncAndData(cephes1cp_4_functions, airye_data, cephes_5c_types,
+ 4, 1, 4, PyUFunc_None, "airye", airye_doc, 1);
PyDict_SetItemString(dictionary, "airye", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_2_functions, fresnl_data, cephes_3_types, 2, 1, 2, PyUFunc_None, "fresnl", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_2_functions, fresnl_data, cephes_3_types,
+ 2, 1, 2, PyUFunc_None, "fresnl", fresnl_doc, 1);
PyDict_SetItemString(dictionary, "fresnl", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_2_functions, shichi_data, cephes_3_types, 2, 1, 2, PyUFunc_None, "shichi", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_2_functions, shichi_data, cephes_3_types,
+ 2, 1, 2, PyUFunc_None, "shichi", shichi_doc, 1);
PyDict_SetItemString(dictionary, "shichi", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_2_functions, sici_data, cephes_3_types, 2, 1, 2, PyUFunc_None, "sici", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_2_functions, sici_data, cephes_3_types,
+ 2, 1, 2, PyUFunc_None, "sici", sici_doc, 1);
PyDict_SetItemString(dictionary, "sici", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, j0_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "j0", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, j0_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "j0", j0_doc, 1);
PyDict_SetItemString(dictionary, "j0", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, y0_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "y0", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, y0_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "y0", y0_doc, 1);
PyDict_SetItemString(dictionary, "y0", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, j1_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "j1", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, j1_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "j1", j1_doc, 1);
PyDict_SetItemString(dictionary, "j1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, y1_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "y1", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, y1_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "y1", y1_doc, 1);
PyDict_SetItemString(dictionary, "y1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2c_functions, jv_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "jv", 1);
+ f = PyUFunc_FromFuncAndData(cephes2c_functions, jv_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "jv", jv_doc, 1);
PyDict_SetItemString(dictionary, "jv", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cp_functions, jve_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "jve", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cp_functions, jve_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "jve", jve_doc, 1);
PyDict_SetItemString(dictionary, "jve", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2c_functions, yv_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "yv", 1);
+ f = PyUFunc_FromFuncAndData(cephes2c_functions, yv_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "yv", yv_doc, 1);
PyDict_SetItemString(dictionary, "yv", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cp_functions, yve_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "yve", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cp_functions, yve_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "yve", yve_doc, 1);
PyDict_SetItemString(dictionary, "yve", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, k0_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "k0", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, k0_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "k0", k0_doc, 1);
PyDict_SetItemString(dictionary, "k0", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, k0e_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "k0e", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, k0e_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "k0e", k0e_doc, 1);
PyDict_SetItemString(dictionary, "k0e", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, k1_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "k1", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, k1_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "k1", k1_doc, 1);
PyDict_SetItemString(dictionary, "k1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, k1e_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "k1e", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, k1e_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "k1e", k1e_doc, 1);
PyDict_SetItemString(dictionary, "k1e", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cp_functions, kv_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "kv", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cp_functions, kv_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "kv", kv_doc, 1);
PyDict_SetItemString(dictionary, "kv", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cp_functions, kve_data, cephes_3c_types, 4, 2, 1, PyUFunc_None, "kve", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cp_functions, kve_data, cephes_3c_types,
+ 4, 2, 1, PyUFunc_None, "kve", kve_doc, 1);
PyDict_SetItemString(dictionary, "kve", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel1_data, cephes_3cp_types, 2, 2, 1, PyUFunc_None, "hankel1", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel1_data, cephes_3cp_types,
+ 2, 2, 1, PyUFunc_None, "hankel1", hankel1_doc, 1);
PyDict_SetItemString(dictionary, "hankel1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel1e_data, cephes_3cp_types, 2, 2, 1, PyUFunc_None, "hankel1e", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel1e_data, cephes_3cp_types,
+ 2, 2, 1, PyUFunc_None, "hankel1e", hankel1e_doc, 1);
PyDict_SetItemString(dictionary, "hankel1e", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel2_data, cephes_3cp_types, 2, 2, 1, PyUFunc_None, "hankel2", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel2_data, cephes_3cp_types,
+ 2, 2, 1, PyUFunc_None, "hankel2", hankel2_doc, 1);
PyDict_SetItemString(dictionary, "hankel2", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel2e_data, cephes_3cp_types, 2, 2, 1, PyUFunc_None, "hankel2e", 1);
+ f = PyUFunc_FromFuncAndData(cephes2cpp_functions, hankel2e_data, cephes_3cp_types,
+ 2, 2, 1, PyUFunc_None, "hankel2e", hankel2e_doc, 1);
PyDict_SetItemString(dictionary, "hankel2e", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, ndtr_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "ndtr", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, ndtr_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "ndtr", ndtr_doc, 1);
PyDict_SetItemString(dictionary, "ndtr", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, erfc_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "erfc", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, erfc_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "erfc", erfc_doc, 1);
PyDict_SetItemString(dictionary, "erfc", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, erf_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "erf", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, erf_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "erf", erf_doc, 1);
PyDict_SetItemString(dictionary, "erf", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, ndtri_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "ndtri", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, ndtri_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "ndtri", ndtri_doc, 1);
PyDict_SetItemString(dictionary, "ndtri", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, psi_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "psi", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, psi_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "psi", psi_doc, 1);
PyDict_SetItemString(dictionary, "psi", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, rgamma_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "rgamma", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, rgamma_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "rgamma", rgamma_doc, 1);
PyDict_SetItemString(dictionary, "rgamma", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, round_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "round", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, round_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "round", round_doc, 1);
PyDict_SetItemString(dictionary, "round", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, sindg_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "sindg", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, sindg_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "sindg", sindg_doc, 1);
PyDict_SetItemString(dictionary, "sindg", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, cosdg_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "cosdg", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, cosdg_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "cosdg", cosdg_doc, 1);
PyDict_SetItemString(dictionary, "cosdg", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes3_functions, radian_data, cephes_4_types, 2, 3, 1, PyUFunc_None, "radian", 1);
+ f = PyUFunc_FromFuncAndData(cephes3_functions, radian_data, cephes_4_types,
+ 2, 3, 1, PyUFunc_None, "radian", radian_doc, 1);
PyDict_SetItemString(dictionary, "radian", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, tandg_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "tandg", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, tandg_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "tandg", tandg_doc, 1);
PyDict_SetItemString(dictionary, "tandg", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, cotdg_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "cotdg", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, cotdg_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "cotdg", cotdg_doc, 1);
PyDict_SetItemString(dictionary, "cotdg", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, log1p_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "log1p", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, log1p_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "log1p", log1p_doc, 1);
PyDict_SetItemString(dictionary, "log1p", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, expm1_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "expm1", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, expm1_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "expm1", expm1_doc, 1);
PyDict_SetItemString(dictionary, "expm1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, cosm1_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "cosm1", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, cosm1_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "cosm1", cosm1_doc, 1);
PyDict_SetItemString(dictionary, "cosm1", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, spence_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "spence", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, spence_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "spence", spence_doc, 1);
PyDict_SetItemString(dictionary, "spence", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, zetac_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "zetac", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, zetac_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "zetac", zetac_doc, 1);
PyDict_SetItemString(dictionary, "zetac", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, struve_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "struve", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, struve_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "struve", struve_doc, 1);
PyDict_SetItemString(dictionary, "struve", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes2_functions, zeta_data, cephes_3_types, 2, 2, 1, PyUFunc_None, "zeta", 1);
+ f = PyUFunc_FromFuncAndData(cephes2_functions, zeta_data, cephes_3_types,
+ 2, 2, 1, PyUFunc_None, "zeta", zeta_doc, 1);
PyDict_SetItemString(dictionary, "zeta", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, kolmogorov_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "kolmogorov", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, kolmogorov_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "kolmogorov", kolmogorov_doc, 1);
PyDict_SetItemString(dictionary, "kolmogorov", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1_functions, kolmogi_data, cephes_2_types, 2, 1, 1, PyUFunc_None, "kolmogorovi", 1);
+ f = PyUFunc_FromFuncAndData(cephes1_functions, kolmogi_data, cephes_2_types,
+ 2, 1, 1, PyUFunc_None, "kolmogorovi", kolmogorovi_doc, 1);
PyDict_SetItemString(dictionary, "kolmogorovi", f);
Py_DECREF(f);
- f = PyUFunc_FromFuncAndData(cephes1c_functions, wofz_data, cephes_1c_types, 2, 1, 1, PyUFunc_None, "wofz", 1);
+ f = PyUFunc_FromFuncAndData(cephes1c_functions, wofz_data, cephes_1c_types,
+ 2, 1, 1, PyUFunc_None, "wofz", wofz_doc, 1);
PyDict_SetItemString(dictionary, "wofz", f);
Py_DECREF(f);
}
NB: This stuff won't work at all without the corresponding patches to
the Numeric core, to be posted shortly to the sourceforge site.