man7.org > Linux > man-pages

```J0(3)                     Linux Programmer's Manual                    J0(3)
```

## NAME         top

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

## SYNOPSIS         top

```       #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():
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE
j0f(), j0l(), j1f(), j1l(), jnf(), jnl():
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 600
```

## DESCRIPTION         top

```       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         top

```       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         top

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

## CONFORMING TO         top

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

## BUGS         top

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

```       y0(3)
```

## COLOPHON         top

```       This page is part of release 3.51 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/.

2010-09-20                            J0(3)
```