ynl - функции Бесселя второго рода
ynl(3)
функции Бесселя второго рода
Other Alias
y0, y0f, y0l, y1, y1f, y1l, yn, ynf
ОБЗОР
#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():
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE
y0f(),
y0l(),
y1f(),
y1l(),
ynf(),
ynl():
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 600
ОПИСАНИЕ
Функции y0() и y1() возвращают функцию Бесселя второго рода от x
для порядков 0 и 1 соответственно. Функция yn() возвращает функцию
Бесселя второго рода от x для порядка n.
Значение x должно быть положительным.
Функции y0f(), y1f() и ynf() представляют собой версии, которые
принимают и возвращают значения типа float. Функции y0l(), y1l() и
ynl() представляют собой версии, которые принимают и возвращают значения
типа long double.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха эти функции возвращают соответствующее значение функции
Бесселя второго рода от
x.
Если 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), чтобы определить, какие ошибки могут возникать
при вызове этих функций.
Могут возникать следующие ошибки:
Ошибка области:
x является отрицательным
errno устанавливается в
EDOM. Вызывается исключение неправильной
плавающей точки (
FE_INVALID).
Ошибка особой точки:
x равно 0.0
errno устанавливается в
ERANGE (однако смотрите раздел ДЕФЕКТЫ). В
данном случае от
fetestexcept(3) исключение
FE_DIVBYZERO не
возвращается.
Ошибка диапазона: результат потерял разрядность
errno устанавливается в
ERANGE. В данном случае от
fetestexcept(3)
исключение
FE_DIVBYZERO не возвращается.
Ошибка диапазона: результат превысил разрядность
В данном случае
errno не изменяется. Вызывается исключение переполнения
плавающей точки (
FE_OVERFLOW).
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
y0(),
y0f(),
y0l()
безвредность в потоках: безвредно (MT-Safe)
y1(),
y1f(),
y1l()
безвредность в потоках: безвредно (MT-Safe)
yn(),
ynf(),
ynl()
безвредность в потоках: безвредно (MT-Safe)
СООТВЕТСТВИЕ СТАНДАРТАМ
Функции, возвращающие
double, соответствуют SVr4, 4.3BSD, POSIX.1-2001 и
POSIX.1-2008. Остальные являются не стандартизованными функциями, которые
также существуют в BSD.
ДЕФЕКТЫ
В случае ошибки особой точки данные функции устанавливают
errno в
EDOM
вместо
ERANGE, как это требует POSIX.1-2004.
В glibc-2.3.2 и младше данные функции не вызывают исключение неправильной
плавающей точки (FE_INVALID) при возникновении ошибки выхода за пределы
области.