# j0

## NAME



           j0, j0f, j0l, j1, j1f, j1l, jn, jnf, jnl - Bessel functions of the
           first kind
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



           **#include <math.h>**
    
           **double j0(double** _x_**);**
           **double j1(double** _x_**);**
           **double jn(int** _n_**, double** _x_**);**
    
           **float j0f(float** _x_**);**
           **float j1f(float** _x_**);**
           **float jnf(int** _n_**, float** _x_**);**
    
           **long double j0l(long double** _x_**);**
           **long double j1l(long double** _x_**);**
           **long double jnl(int** _n_**, long double** _x_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **j0**(), **j1**(), **jn**():
               _XOPEN_SOURCE
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
    
           **j0f**(), **j0l**(), **j1f**(), **j1l**(), **jnf**(), **jnl**():
               _XOPEN_SOURCE >= 600
                   || (_ISOC99_SOURCE && _XOPEN_SOURCE)
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
    


## DESCRIPTION



           The **j0**() and **j1**() functions return Bessel functions of _x_ of the
           first kind of orders 0 and 1, respectively.  The **jn**() function
           returns the Bessel function of _x_ of the first kind of order _n_.
    
           The **j0f**(), **j1f**(), and **jnf**(), functions are versions that take and
           return _float_ values.  The **j0l**(), **j1l**(), and **jnl**() functions are
           versions that take and return _long double_ values.
    


## RETURN VALUE



           On success, these functions return the appropriate Bessel value of
           the first kind for _x_.
    
           If _x_ is a NaN, a NaN is returned.
    
           If _x_ is too large in magnitude, or the result underflows, a range
           error occurs, and the return value is 0.
    


## ERRORS



           See math_error(7) for information on how to determine whether an
           error has occurred when calling these functions.
    
           The following errors can occur:
    
           Range error: result underflow, or _x_ is too large in magnitude
                  _errno_ is set to **ERANGE**.
    
           These functions do not raise exceptions for fetestexcept(3).
    


## ATTRIBUTES



           For an explanation of the terms used in this section, see
           attributes(7).
           ┌──────────────────────────────────────┬───────────────┬─────────┐
           │ **Interface** │ **Attribute** │ **Value** │
           ├──────────────────────────────────────┼───────────────┼─────────┤
           │ **j0**(), **j0f**(), **j0l**()                   │ Thread safety │ MT-Safe │
           ├──────────────────────────────────────┼───────────────┼─────────┤
           │ **j1**(), **j1f**(), **j1l**()                   │ Thread safety │ MT-Safe │
           ├──────────────────────────────────────┼───────────────┼─────────┤
           │ **jn**(), **jnf**(), **jnl**()                   │ Thread safety │ MT-Safe │
           └──────────────────────────────────────┴───────────────┴─────────┘
    


## STANDARDS



           **j0**()
           **j1**()
           **jn**()   POSIX.1-2008.
    
           Others:
                  BSD.
    


## BUGS



           There are errors of up to 2e-16 in the values returned by **j0**(),
           **j1**(), and **jn**() for values of _x_ between -8 and 8.
    


* * *