cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern void vjf (int n, float J[/* n+1 */], float x); extern void vj (int n, double J[/* n+1 */], double x); extern void vjl (int n, long double J[/* n+1 */], long double x); extern void vjw (int n, __float80 J[/* n+1 */], __float80 x); extern void vjq (int n, __float128 J[/* n+1 */], __float128 x); extern void vjll (int n, long_long_double J[/* n+1 */], long_long_double x); extern void vjdf (int n, decimal_float J[/* n+1 */], decimal_float x); extern void vjd (int n, decimal_double J[/* n+1 */], decimal_double x); extern void vjdl (int n, decimal_long_double decimal_long_double J[/* n+1 */], decimal_long_double x); extern void vjdll (int n, decimal_long_long_double decimal_long_long_double J[/* 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 jn(k,x) for each element.
The ordinary 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 algorithm may require internal storage for an array at least as big as J[], but at least 4096 elements are guaranteed. Values for elements beyond that internal limit are set to quiet NaNs in the output array.