Files to compute some special functions (source codes in C/C++), free for download and with no warranty.

error_function.zip (5 kB)
The error function erf and its complementary erfc, the version which can be found in Sun's library (Cody's solution and thus
only for Reals), but ready to use. For its cousin - the cumulative normal distribution - see the main page (and the VBA code)
or use
cdfN(x) = ( 1 + erf(x/sqrt(2)) ) / 2, but be aware that this always will introduce some relative errors.

MillsRatio.zip (3 kB)
Mills' ratio (or the inverse of the hazard function) and defined as
(1 - cdfN(x))/pdfN(x)and thus also can by used to
compute the cumulative normal distribution. The absolute and relative errors are
~ 2 * DBL_EPSILON and the test report
regards the
IEEE representation for doubles, Mills_IEEE.pdf (459 kB).

LambertW.cpp (1 kB)
Lambert's W function solves the equation
x = y * exp(y) = y + y^2 + y^3/2 + y^4/6 + y^5/24 + ...
y = LambertW(x)
is a kind of log for that. Over the positive Reals it can be computed by Newton's method, which converges
quickly (~ 3 steps) with relative error below
2 * DBL_EPSILON (absolute error below DBL_EPSILON for x= 0 .. 1).

gamma_lanzos.zip (4 kB)
Gamma function for complex inputs, which also works very close the the poles in negative integers. Basically it uses Godfrey's
method (which however seems to have problems in those regions). The tests for accuracy are done with Maple (using high
precision and regarding IEEE representation for doubles), here are some test results: gamma_lanczos_NP_test.pdf (20 kB).

hypergeometric function 2F1 function (internal link)
For
Gauss' function, complex case for parameters and variable, has its own URL. Note it is the function, not merely the series
in the unit disk.

feedback is welcome & if you want to drop me any comment ... 