0(3)

NAZWA
y0, y0f, y0l, y1, y1f, y1l, yn, ynf, ynl - funkcje Bessela drugiego rodzaju

SKŁADNIA
#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);

Proszę linkować z -lm.

Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

y0(), y1(), yn():
    _XOPEN_SOURCE
        || /* Od glibc 2.19: */ _DEFAULT_SOURCE
        || /* Glibc w wersji <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
y0f(), y0l(), y1f(), y1l(), ynf(), ynl():
    _XOPEN_SOURCE >= 600
        || (_ISOC99_SOURCE && _XOPEN_SOURCE)
        || /* Od glibc 2.19: */ _DEFAULT_SOURCE
        || /* Glibc w wersji <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

OPIS

Funkcje y0() i y1() zwracają wartość w punkcie x funkcji Bessela drugiego rodzaju rzędów, odpowiednio, 0 i 1. Funkcja yn() zwraca wartość w punkcie x funkcji Bessela drugiego rodzaju rzędu n.

Wartość x musi być dodatnia.

Funkcje y0f(), y1f() i ynf() są wersjami przyjmującymi i zwracającymi wartości float. y01(), y1l() i ynl() są wersjami funkcji przyjmującymi i zwracającymi wartości long double.

WARTOŚĆ ZWRACANA
Funkcje te, gdy się zakończą pomyślnie, zwracają odpowiednie wartości funkcji Bessela drugiego rodzaju dla argumentu x. Jeśli x wynosi NaN, to zwracane jest NaN. Jeśli x jest ujemne, występuje błąd dziedziny i funkcje odpowiednio zwracają HUGE_VAL, -HUGE_VALF lub -HUGE_VALL. (POSIX.1-2001 w tych wypadkach zezwala również na zwracanie NaN). Jeśli x jest równe 0.0, występuje błąd bieguna i funkcje odpowiednio zwracają -HUGE_VAL, -HUGE_VALF lub -HUGE_VALL. Jeśli wartość wynikowa jest zbyt mała, to występuje błąd przekroczenia zakresu i funkcje zwracają 0.0. Jeśli wartość wynikowa jest zbyt duża, występuje błąd przekroczenia zakresu i funkcje odpowiednio zwracają HUGE_VAL, -HUGE_VALF lub -HUGE_VALL. (POSIX.1-2001 w tych wypadkach zezwala również na zwracanie 0.0).

BŁĘDY
Informacje o tym, jak określić, czy wystąpił błąd podczas wywołania tych funkcji, można znaleźć w podręczniku math_error(7).

Mogą wystąpić następujące błędy:

Błąd dziedziny: x jest ujemne
    errno jest ustawiane na EDOM. Rzucany jest wyjątek niepoprawnej operacji zmiennoprzecinkowej (FE_INVALID).

Błąd bieguna: x jest równe 0.0
    errno jest ustawiane na ERANGE (ale proszę też przeczytać rozdział BŁĘDY). fetestexcept(3) nie zwraca wyjątku FE_DIVBYZERO w takim wypadku.

Błąd zakresu: przekroczenie w dół wartości wynikowej
    errno jest ustawiane na ERANGE. fetestexcept(3) nie zwraca wyjątku FE_UNDERFLOW w takim wypadku.

Błąd zakresu: przekroczenie w górę wartości wynikowej
    errno nie jest w tym wypadku ustawiane. Rzucany jest wyjątek przekroczenia zakresu operacji zmiennoprzecinkowej (FE_OVERFLOW).

ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość
y0(), y0f(), y0l() | Bezpieczeństwo wątkowe | MT-Safe
y1(), y1f(), y1l() | Bezpieczeństwo wątkowe | MT-Safe
yn(), ynf(), ynl() | Bezpieczeństwo wątkowe | MT-Safe

ZGODNE Z
Funkcje zwracające wartość typu double są zgodne z SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008. Pozostałe funkcje są funkcjami niestandardowymi istniejącymi także w systemach BSD.

BŁĘDY
Jeżeli wystąpi błąd bieguna, funkcje te ustawiają errno na EDOM, zamiast ustawiać ją na ERANGE, tak jak wymaga standard POSIX.1-2004. W wersji 2.3.2 i wcześniejszych biblioteki glibc funkcje te nie rzucały wyjątku niepoprawnej operacji zmiennoprzecinkowej (FE_INVALID) w razie wystąpienia błędu dziedziny funkcji.

ZOBACZ TAKŻE
j0(3)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 4.07 oryginału.