# y0

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           y0, y1, yn — Bessel functions of the second kind
    


## SYNOPSIS



           #include <math.h>
    
           double y0(double _x_);
           double y1(double _x_);
           double yn(int _n_ , double _x_);
    


## DESCRIPTION



           The _y0_(), _y1_(), and _yn_() functions shall compute Bessel functions
           of _x_ of the second kind of orders 0, 1, and _n_ , respectively.
    
           An application wishing to check for error situations should set
           _errno_ to zero and call _feclearexcept_(FE_ALL_EXCEPT) before calling
           these functions. On return, if _errno_ is non-zero or
           _fetestexcept_(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW |
           FE_UNDERFLOW) is non-zero, an error has occurred.
    


## RETURN VALUE



           Upon successful completion, these functions shall return the
           relevant Bessel value of _x_ of the second kind.
    
           If _x_ is NaN, NaN shall be returned.
    
           If the _x_ argument to these functions is negative, -HUGE_VAL or NaN
           shall be returned, and a domain error may occur.
    
           If _x_ is 0.0, -HUGE_VAL shall be returned and a pole error may
           occur.
    
           If the correct result would cause underflow, 0.0 shall be returned
           and a range error may occur.
    
           If the correct result would cause overflow, -HUGE_VAL or 0.0 shall
           be returned and a range error may occur.
    


## ERRORS



           These functions may fail if:
    
           Domain Error
                       The value of _x_ is negative.
    
                       If the integer expression (_math_errhandling_ &
                       MATH_ERRNO) is non-zero, then _errno_ shall be set to
                       **[EDOM]**.  If the integer expression (_math_errhandling_ &
                       MATH_ERREXCEPT) is non-zero, then the invalid
                       floating-point exception shall be raised.
    
           Pole Error  The value of _x_ is zero.
    
                       If the integer expression (_math_errhandling_ &
                       MATH_ERRNO) is non-zero, then _errno_ shall be set to
                       **[ERANGE]**.  If the integer expression (_math_errhandling_
                       & MATH_ERREXCEPT) is non-zero, then the divide-by-zero
                       floating-point exception shall be raised.
    
           Range Error The correct result would cause overflow.
    
                       If the integer expression (_math_errhandling_ &
                       MATH_ERRNO) is non-zero, then _errno_ shall be set to
                       **[ERANGE]**.  If the integer expression (_math_errhandling_
                       & MATH_ERREXCEPT) is non-zero, then the overflow
                       floating-point exception shall be raised.
    
           Range Error The value of _x_ is too large in magnitude, or the
                       correct result would cause underflow.
    
                       If the integer expression (_math_errhandling_ &
                       MATH_ERRNO) is non-zero, then _errno_ shall be set to
                       **[ERANGE]**.  If the integer expression (_math_errhandling_
                       & MATH_ERREXCEPT) is non-zero, then the underflow
                       floating-point exception shall be raised.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           On error, the expressions (_math_errhandling_ & MATH_ERRNO) and
           (_math_errhandling_ & MATH_ERREXCEPT) are independent of each other,
           but at least one of them must be non-zero.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *