Scroll to navigation

y0(3) Library Functions Manual y0(3)

ИМЯ

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);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

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 <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

5 февраля 2023 г. Справочные страницы Linux 6.03