cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern void vbisf (int n, float Is[/* n+1 */], float x); extern void vbis (int n, double Is[/* n+1 */], double x); extern void vbisl (int n, long double Is[/* n+1 */], long double x); extern void vbisw (int n, __float80 Is[/* n+1 */], __float80 x); extern void vbisq (int n, __float128 Is[/* n+1 */], __float128 x); extern void vbisll (int n, long_long_double Is[/* n+1 */], long_long_double x); extern void vbisdf (int n, decimal_float Is[/* n+1 */], decimal_float x); extern void vbisd (int n, decimal_double Is[/* n+1 */], decimal_double x); extern void vbisdl (int n, decimal_long_double decimal_long_double Is[/* n+1 */], decimal_long_double x); extern void vbisdll (int n, decimal_long_long_double decimal_long_long_double Is[/* n+1 */], 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 considerably faster than one that simply invokes bin(k,x) for each element, and does not normally require a call to the exponential function.
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, this function family returns values of this Bessel function reduced by a factor of exp(-x); see vbi(3CW) for the unscaled companions.