table of contents
expm1(3) | Library Functions Manual | expm1(3) |
NAZWA¶
expm1, expm1f, expm1l - funkcja wykładnicza minus 1
BIBLIOTEKA¶
Biblioteka matematyczna (libm, -lm)
SKŁADNIA¶
#include <math.h>
double expm1(double x); float expm1f(float x); long double expm1l(long double x);
expm1():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
expm1f(), expm1l():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
OPIS¶
Funkcje te zwracają wartość równoważną z
exp(x) - 1
Wynik jest obliczany w sposób zapewniający dokładność nawet gdy x wynosi prawie zero, czyli w sytuacji, w której użycie exp(x) - 1 prowadziłoby do niedokładności z powodu odejmowania dwóch prawie takich samych liczb.
WARTOŚĆ ZWRACANA¶
Funkcje te, gdy się zakończą pomyślnie, zwracają exp(x) - 1.
Jeśli x wynosi NaN, to zwracane jest NaN.
Jeśli x wynosi +0 (-0), to zwracane jest +0 (-0).
Jeśli x jest równe dodatniej nieskończoności, to zwracana jest dodatnia nieskończoność.
Jeśli x jest równe ujemnej nieskończoności, to zwracane jest -1.
W przypadku przepełnienia wyniku operacji, występuje błąd zakresu i funkcje zwracają odpowiednio -HUGE_VAL, -HUGE_VALF lub -HUGE_VALL.
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 zakresu: przekroczenie w górę wartości wynikowej
- errno jest ustawiane na ERANGE (ale patrz USTERKI). 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ść |
expm1(), expm1f(), expm1l() | Bezpieczeństwo wątkowe | MT-bezpieczne |
STANDARDY¶
C11, POSIX.1-2008.
HISTORIA¶
C99, POSIX.1-2001. BSD.
USTERKI¶
Przed glibc 2.17, na określonych architekturach (np. x86, lecz nie x86_64) expm1() rzucała nieprawidłowy wyjątek niedomiaru zmiennoprzecinkowego w przypadku pewnych dużych, ujemnych wartości x (gdzie wynik funkcji zbliża się do -1).
Przed mniej więcej glibc 2.11 expm1() niewłaściwie rzucała wyjątek niepoprawnej operacji zmiennoprzecinkowej w połączeniu z oczekiwanym wyjątkiem przekroczenia zakresu oraz zwracała NaN zamiast dodatniej nieskończoności, dla pewnych dużych, dodatnich wartości x.
Przed glibc 2.11, implementacja glibc nie ustawiała errno na ERANGE, gdy wystąpił błąd zakresu.
ZOBACZ TAKŻE¶
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
2 maja 2024 r. | Linux man-pages (niewydane) |