# J0

NAME

SYNOPSIS

DESCRIPTION

RETURN VALUE

ERRORS

ATTRIBUTES

CONFORMING TO

BUGS

SEE ALSO

COLOPHON

## NAME

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

## 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***);**

Link with
*−lm*.

Feature Test
Macro Requirements for glibc (see
**feature_test_macros**(7)):

**j0**(),
**j1**(), **jn**():

_SVID_SOURCE || _BSD_SOURCE ||
_XOPEN_SOURCE

**j0f**(), **j0l**(),
**j1f**(), **j1l**(), **jnf**(), **jnl**():

_SVID_SOURCE || _BSD_SOURCE ||
_XOPEN_SOURCE >= 600

## 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**() etc. and **j0l**() etc. functions are
versions that take and return *float* and *long
double* values, respectively.

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

## CONFORMING TO

The functions
returning *double* conform to SVr4, 4.3BSD,
POSIX.1-2001. The others are nonstandard functions that also
exist on the BSDs.

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

## SEE ALSO

**y0**(3)

## COLOPHON

This page is
part of release 3.53 of the Linux *man-pages* project.
A description of the project, and information about
reporting bugs, can be found at
http://www.kernel.org/doc/man−pages/.