cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float bi1f (float x); extern double bi1 (double x); extern long double bi1l (long double x); extern __float80 bi1w (__float80 x); extern __float128 bi1q (__float128 x); extern long_long_double bi1ll (long_long_double x); extern decimal_float bi1df (decimal_float x); extern decimal_double bi1d (decimal_double x); extern decimal_long_double bi1dl (decimal_long_double x); extern decimal_long_long_double bi1dll (decimal_long_long_double x);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
This function is not required by ISO Standard C (1989 or 1999), but it is part of IEEE Std 1003.1-2001, informally known as POSIX 2001. Implementations of this function are also available in most Unix C math libraries (-lm).
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 bis1(3CW).