cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float i0f (float x); extern double i0 (double x); extern long double i0l (long double x); extern __float80 i0w (__float80 x); extern __float128 i0q (__float128 x); extern long_long_double i0ll (long_long_double x); extern decimal_float i0df (decimal_float x); extern decimal_double i0d (decimal_double x); extern decimal_long_double i0dl (decimal_long_double x); extern decimal_long_long_double i0dll (decimal_long_long_double x);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
The modified Bessel functions provided by these software implementations are defined according to Chapter 9, Bessel Functions of Integer Order, of the Handbook of Mathematical Functions, edited by Milton Abramowitz and Irene A. Stegun, National Bureau of Standards Applied Mathematics Series #55, US Department of Commerce, Washington, DC (1964).
The I(n,x) functions grow exponentially with increasing x, and overflow even with moderate x values. For that reason, there is a related family of functions that return values of this Bessel function reduced by a factor of exp(-x); see i0s(3CW).