Special Functions
=================
These are some more exotic mathematical functions which are sometimes
useful. Currently they only have real-valued versions.
- Function: double erf (double X)
- Function: float erff (float X)
- Function: long double erfl (long double X)
`erf' returns the error function of X. The error function is
defined as
erf (x) = 2/sqrt(pi) * integral from 0 to x of exp(-t^2) dt
- Function: double erfc (double X)
- Function: float erfcf (float X)
- Function: long double erfcl (long double X)
`erfc' returns `1.0 - erf(X)', but computed in a fashion that
avoids round-off error when X is large.
- Function: double lgamma (double X)
- Function: float lgammaf (float X)
- Function: long double lgammal (long double X)
`lgamma' returns the natural logarithm of the absolute value of
the gamma function of X. The gamma function is defined as
gamma (x) = integral from 0 to oo of t^(x-1) e^-t dt
The sign of the gamma function is stored in the global variable
SIGNGAM, which is declared in `math.h'. It is `1' if the
intermediate result was positive or zero, or `-1' if it was
negative.
To compute the real gamma function you can use the `tgamma'
function or you can compute the values as follows:
lgam = lgamma(x);
gam = signgam*exp(lgam);
The gamma function has singularities at the non-positive integers.
`lgamma' will raise the zero divide exception if evaluated at a
singularity.
- Function: double lgamma_r (double X, int *SIGNP)
- Function: float lgammaf_r (float X, int *SIGNP)
- Function: long double lgammal_r (long double X, int *SIGNP)
`lgamma_r' is just like `lgamma', but it stores the sign of the
intermediate result in the variable pointed to by SIGNP instead of
in the SIGNGAM global. This means it is reentrant.
- Function: double gamma (double X)
- Function: float gammaf (float X)
- Function: long double gammal (long double X)
These functions exist for compatibility reasons. They are
equivalent to `lgamma' etc. It is better to use `lgamma' since
for one the name reflects better the actual computation, moreover
`lgamma' is standardized in ISO C99 while `gamma' is not.
- Function: double tgamma (double X)
- Function: float tgammaf (float X)
- Function: long double tgammal (long double X)
`tgamma' applies the gamma function to X. The gamma function is
defined as
gamma (x) = integral from 0 to oo of t^(x-1) e^-t dt
This function was introduced in ISO C99.
- Function: double j0 (double X)
- Function: float j0f (float X)
- Function: long double j0l (long double X)
`j0' returns the Bessel function of the first kind of order 0 of
X. It may signal underflow if X is too large.
- Function: double j1 (double X)
- Function: float j1f (float X)
- Function: long double j1l (long double X)
`j1' returns the Bessel function of the first kind of order 1 of
X. It may signal underflow if X is too large.
- Function: double jn (int n, double X)
- Function: float jnf (int n, float X)
- Function: long double jnl (int n, long double X)
`jn' returns the Bessel function of the first kind of order N of
X. It may signal underflow if X is too large.
- Function: double y0 (double X)
- Function: float y0f (float X)
- Function: long double y0l (long double X)
`y0' returns the Bessel function of the second kind of order 0 of
X. It may signal underflow if X is too large. If X is negative,
`y0' signals a domain error; if it is zero, `y0' signals overflow
and returns -oo.
- Function: double y1 (double X)
- Function: float y1f (float X)
- Function: long double y1l (long double X)
`y1' returns the Bessel function of the second kind of order 1 of
X. It may signal underflow if X is too large. If X is negative,
`y1' signals a domain error; if it is zero, `y1' signals overflow
and returns -oo.
- Function: double yn (int n, double X)
- Function: float ynf (int n, float X)
- Function: long double ynl (int n, long double X)
`yn' returns the Bessel function of the second kind of order N of
X. It may signal underflow if X is too large. If X is negative,
`yn' signals a domain error; if it is zero, `yn' signals overflow
and returns -oo.
automatically generated byinfo2wwwversion 1.2.2.9