cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern void vsbisf (int n, float is[/* n+1 */], float x); extern void vsbis (int n, double is[/* n+1 */], double x); extern void vsbisl (int n, long double is[/* n+1 */], long double x); extern void vsbisw (int n, __float80 is[/* n+1 */], __float80 x); extern void vsbisq (int n, __float128 is[/* n+1 */], __float128 x); extern void vsbisll (int n, long_long_double is[/* n+1 */], long_long_double x); extern void vsbisdf (int n, decimal_float is[/* n+1 */], decimal_float x); extern void vsbisd (int n, decimal_double is[/* n+1 */], decimal_double x); extern void vsbisdl (int n, decimal_long_double decimal_long_double is[/* n+1 */], decimal_long_double x); extern void vsbisdll (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 sbisn(k,x) for each element.
The modified spherical 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.