j0, j0f, j0l, j1, j1f, j1l, jn, jnf, jnl - Bessel functions of the first kind
#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)):
_XOPEN_SOURCE || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc versions <= 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 versions <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
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
x of the first kind of order
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.
On success, these functions return the appropriate Bessel value of
the first kind for
x is a NaN, a NaN is returned.
x is too large in magnitude, or the result underflows, a
range error occurs, and the return value is 0.
See math_error(7) for information on how to determine whether an error has occurred when calling these functions.
The following errors can occur:
xis too large in magnitude
errno is set to ERANGE.
These functions do not raise exceptions for fetestexcept(3).
The functions returning
double conform to SVr4, 4.3BSD,
POSIX.1-2001, and POSIX.1-2008. The others are nonstandard functions
that also exist on the BSDs.
This page is part of release 5.10 of the Linux
project. A description of the project, information about reporting bugs,
and the latest version of this page, can be found at