PyGSL comes with two implementations for the special functions. The sf and the testing.sf module. The first one was the first implementation and will be removed soon, while the later one wraps the special functions as numpy UFuncs. The UFunc module will eventually replace the sf module.
Generating the wrapper has not been automatized yet. First swig is used to parse the header files and dump them into xml and then a specialized wrapper reads this tree and writes the wrappers.
This involves the following steps:
swig -python -I<gsl header directory> -xml swig_test.i
So on a linux machine this is typically
swig -python -I/usr/include -xml swig_test.i
python ../../tools/sf_functions.py
BUILD_TESTING = 1
in the
setup.py file. If required update the time stamp of the file
testing/src/sf/sfmodule_testing.c. This will build the module
_ufuncs.
exclude_list
in the file sf_functions.py