1Y0(3)                      Linux Programmer's Manual                     Y0(3)
2
3
4

NAME

6       y0, y0f, y0l, y1, y1f, y1l, yn, ynf, ynl - Bessel functions of the sec‐
7       ond kind
8

SYNOPSIS

10       #include <math.h>
11
12       double y0(double x);
13       double y1(double x);
14       double yn(int n, double x);
15
16       float y0f(float x);
17       float y1f(float x);
18       float ynf(int n, float x);
19
20       long double y0l(long double x);
21       long double y1l(long double x);
22       long double ynl(int n, long double x);
23
24       Link with -lm.
25
26   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
27
28       y0(), y1(), yn():
29           _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE
30       y0f(), y0l(), y1f(), y1l(), ynf(), ynl():
31           _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 600
32

DESCRIPTION

34       The y0() and y1() functions return Bessel functions of x of the  second
35       kind  of  orders  0 and 1, respectively.  The yn() function returns the
36       Bessel function of x of the second kind of order n.
37
38       The value of x must be positive.
39
40       The y0f() etc. and y0l() etc. functions  are  versions  that  take  and
41       return float and long double values, respectively.
42

RETURN VALUE

44       On  success, these functions return the appropriate Bessel value of the
45       second kind for x.
46
47       If x is a NaN, a NaN is returned.
48
49       If x is negative, a domain  error  occurs,  and  the  functions  return
50       -HUGE_VAL, -HUGE_VALF, or -HUGE_VALL, respectively.  (POSIX.1-2001 also
51       allows a NaN return for this case.)
52
53       If x is 0.0, a pole error occurs, and the functions  return  -HUGE_VAL,
54       -HUGE_VALF, or -HUGE_VALL, respectively.
55
56       If  the  result  underflows,  a  range  error occurs, and the functions
57       return 0.0
58
59       If the result overflows, a range error occurs, and the functions return
60       -HUGE_VAL, -HUGE_VALF, or -HUGE_VALL, respectively.  (POSIX.1-2001 also
61       allows a 0.0 return for this case.)
62

ERRORS

64       See math_error(7) for information on how to determine whether an  error
65       has occurred when calling these functions.
66
67       The following errors can occur:
68
69       Domain error: x is negative
70              errno  is  set  to  EDOM.   An  invalid floating-point exception
71              (FE_INVALID) is raised.
72
73       Pole error: x is 0.0
74              errno is set to ERANGE (but see BUGS).  No  FE_DIVBYZERO  excep‐
75              tion is returned by fetestexcept(3) for this case.
76
77       Range error: result underflow
78              errno  is  set to ERANGE.  No FE_UNDERFLOW exception is returned
79              by fetestexcept(3) for this case.
80
81       Range error: result overflow
82              errno is not set for  this  case.   An  overflow  floating-point
83              exception (FE_OVERFLOW) is raised.
84

CONFORMING TO

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

BUGS

90       On a pole error, these functions set errno to EDOM, instead  of  ERANGE
91       as POSIX.1-2004 requires.
92
93       In  glibc  version  2.3.2  and earlier, these functions do not raise an
94       invalid floating-point  exception  (FE_INVALID)  when  a  domain  error
95       occurs.
96

SEE ALSO

98       j0(3)
99

COLOPHON

101       This  page  is  part of release 3.53 of the Linux man-pages project.  A
102       description of the project, and information about reporting  bugs,  can
103       be found at http://www.kernel.org/doc/man-pages/.
104
105
106
107                                  2008-08-10                             Y0(3)
Impressum