y0, y0f, y0l, y1, y1f, y1l, yn, ynf, ynl -
функции
Бесселя
второго
рода
Math library (
libm,
-lm)
#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);
y0(),
y1(),
yn():
_XOPEN_SOURCE
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
y0f(),
y0l(),
y1f(),
y1l(),
ynf(),
ynl():
_XOPEN_SOURCE >= 600
|| (_ISOC99_SOURCE && _XOPEN_SOURCE)
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
Функции
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 is set to ERANGE and an
FE_DIVBYZERO exception is raised (but see BUGS).
- Ошибка
диапазона:
результат
исчерпал
степень
-
errno
устанавливается
в ERANGE. В
данном
случае от
fetestexcept(3)
исключение
FE_DIVBYZERO не
возвращается.
- Ошибка
диапазона:
результат
превысил
разрядность
- Значение
errno
устанавливается
в ERANGE (но см.
ДЕФЕКТЫ).
Возникает
исключение
переполнения
плавающей
точки ( 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.
Before glibc 2.19, these functions misdiagnosed pole errors:
errno was
set to
EDOM, instead of
ERANGE and no
FE_DIVBYZERO
exception was raised.
Before glibc 2.17, did not set
errno for "range error: result
underflow".
In glibc 2.3.2 and earlier, these functions do not raise an invalid
floating-point exception (
FE_INVALID) when a domain error occurs.
j0(3)
Русский
перевод
этой
страницы
руководства
был сделан Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]