Scroll to navigation

0(3) Podręcznik programisty Linuksa 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.

2016-03-15