Y0 - Linux手册页

时间:2019-08-20 18:01:45  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2020-06-09

名称

y0,y0f,y0l,y1,y1f,y1l,yn,ynf,ynl-第二类贝塞尔函数

语法

#include <math.h>

double y0(double x);
double y1(double x);
double yn(int n, double x);

float y0f(float x);
float y1f(float x);
float ynf(int n, float x);

long double y0l(long double x);
long double y1l(long double x);
long double ynl(int n, long double x);

与-lm链接。

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

y0(),y1(),yn():

_XOPEN_SOURCE || / *自glibc 2.19起:* / -_DEFAULT_SOURCE || / * Glibc版本
y0f(),

y0l(),

y1f(),

y1l(),

ynf(),

ynl():

_XOPEN_SOURCE>= 600 || (_ISOC99_SOURCE && __ XOPEN_SOURCE) || / *自glibc 2.19起:* / -_DEFAULT_SOURCE || / * Glibc版本

说明

y0()和y1()函数分别返回第二种0和1阶x的Bessel函数。 yn()函数返回第二种n阶x的Bessel函数。

x的值必须为正。

y0f(),y1f()和ynf()函数是采用和返回float值的版本。 y0l(),y1l()和ynl()函数是采用并返回长双精度值的版本。

返回值

成功后,这些函数将为x返回第二种适当的Bessel值。

如果x是NaN,则返回NaN。

如果x为负,则发生域错误,并且函数分别返回-HUGE_VAL,-HUGE_VALF或-HUGE_VALL。 (在这种情况下,POSIX.1-2001还允许返回NaN。)

如果x为0.0,则发生极点错误,并且函数分别返回-HUGE_VAL,-HUGE_VALF或-HUGE_VALL。

如果结果下溢,则发生范围错误,并且函数返回0.0

如果结果溢出,则会发生范围错误,并且这些函数将分别返回-HUGE_VAL,-HUGE_VALF或-HUGE_VALL。 (在这种情况下,POSIX.1-2001还允许返回0.0。)

错误说明

有关在调用这些函数时如何确定是否发生错误的信息,请参见math_error(7)。

可能会发生以下错误:

Domain error: xis negative
errno设置为EDOM。引发了无效的浮点异常(FE_INVALID)。
Pole error: xis 0.0
errno设置为ERANGE并引发FE_DIVBYZERO异常(但请参阅BUGS)。
Range error: result underflow
errno设置为ERANGE。对于这种情况,fetestexcept(3)不会返回FE_UNDERFLOW异常。
Range error: result overflow
errno设置为ERANGE(但请参阅BUGS)。引发了溢出浮点异常(FE_OVERFLOW)。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
y0(),y0f(),y0l()Thread safetyMT-Safe
y1(),y1f(),y1l()Thread safetyMT-Safe
yn(),ynf(),ynl()Thread safetyMT-Safe

遵循规范

返回double的函数符合SVr4、4.3BSD,POSIX.1-2001,POSIX.1-2008。其他是BSD上也存在的非标准功能。

BUGS

在glibc 2.19之前,这些函数误诊了极点错误:errno设置为EDOM,而不是ERANGE,并且未引发FE_DIVBYZERO异常。

在glibc 2.17之前,未将errno设置为"范围错误:结果下溢"。

在glibc 2.3.2和更早版本中,当发生域错误时,这些函数不会引发无效的浮点异常(FE_INVALID)。

另外参见

j0(3)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/