### 1.10 `jN`, `jNf`, `yN`, `yNf`—Bessel functions

Synopsis

         #include <math.h>
         double j0(double x);
         float j0f(float x);
         double j1(double x);
         float j1f(float x);
         double jn(int n, double x);
         float jnf(int n, float x);
         double y0(double x);
         float y0f(float x);
         double y1(double x);
         float y1f(float x);
         double yn(int n, double x);
         float ynf(int n, float x);

Description
The Bessel functions are a family of functions that solve the differential equation

           2               2    2
          x  y'' + xy' + (x  - p )y  = 0

These functions have many applications in engineering and physics.

`jn` calculates the Bessel function of the first kind of order n. `j0` and `j1` are special cases for order 0 and order 1 respectively.

Similarly, `yn` calculates the Bessel function of the second kind of order n, and `y0` and `y1` are special cases for order 0 and 1.

`jnf`, `j0f`, `j1f`, `ynf`, `y0f`, and `y1f` perform the same calculations, but on `float` rather than `double` values.

Returns
The value of each Bessel function at x is returned.

Portability
None of the Bessel functions are in ANSI C.