### 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.