NAME
kjb_bessel_I0  Computes modified Bessel function, order 0
SYNOPSIS
#include "wrap_gsl/wrap_gsl_sf.h"
Example compile flags (system dependent):
DLINUX_X86_64 DLINUX_X86_64_OPTERON DGNU_COMPILER
I/home/kobus/include
L/home/kobus/misc/load/linux_x86_64_opteron L/usr/lib/x86_64linuxgnu
lKJB lfftw3 lgsl lgslcblas ljpeg lSVM lstdc++ lpthread lSLATEC lg2c lacml lacml_mv lblas lg2c lncursesw
int kjb_bessel_I0
(
double *P_ptr,
double x
);
PARAMETERS

double *P_ptr

Pointer to where the result should be stored

double x

Value at which to evaluate erf
DESCRIPTION
If possible, computes the modified Bessel function, order 0,
usually denoted by something like I_0(x). This is defined as
I_0(x) = i * J_0(i*x), where J_0 is the ordinary Bessel function, order 0,
and little i is the imaginary unit.
This routine is a thin wrapper to GSL code that computes this special
function. If the GSL library is not available, this routine fails with a
return value of ERROR. Otherwise, the value is returned in the location
pointed to by pointer P_ptr, which must not equal null. The argument to
the function is stored in x.
Keep in mind that I_0(x) grows very quickly with increasing x, on the order
of exp(x)/sqrt(x). If you need to compute I_0 for a large value (perhaps in
a ratio calculation), please consider using kjb_scaled_bessel_I0() instead.
In this context if x has three digits, it is LARGE.
RETURNS
If successful, the value is written to *P_ptr and this function returns
NO_ERROR. If the routine fails  caused by the library being unavailable
during linking  an error message is set and the return value is ERROR.
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Andrew Predoehl
DOCUMENTER
Andrew Predoehl
SEE ALSO
kjb_erf
,
kjb_scaled_bessel_I1
,
kjb_scaled_bessel_I0