log1p, log1pf, log1pl - logarytm z 1 plus argument
Math library (
libm,
-lm)
#include <math.h>
double log1p(double x);
float log1pf(float x);
long double log1pl(long double x);
log1p():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
log1pf(),
log1pl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Funkcje te zwracają wartość równoważną
z
log (1 + x)
Wynik jest obliczany w sposób zapewniający
dokładność, nawet gdy
x wynosi prawie zero.
Funkcje te, gdy się zakończą pomyślnie,
zwracają logarytm naturalny argumentu
(1 + x).
Jeśli
x wynosi NaN, to zwracane jest NaN.
Jeśli
x jest równe dodatniej nieskończoności,
to zwracana jest dodatnia nieskończoność.
Jeśli
x jest równe -1, występuje błąd
bieguna i funkcje odpowiednio zwracają -
HUGE_VAL,
-
HUGE_VALF lub -
HUGE_VALL.
Jeśli
x jest mniejsze niż -1
(włączając w to ujemną
nieskończoność), to występuje błąd
dziedziny i zwracane jest NaN ("nie jest liczbą").
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 mniejsze
niż -1
-
errno jest ustawiane na EDOM (patrz
także BŁĘDY IMPLEMENTACJI). Rzucany jest
wyjątek niepoprawnej operacji zmiennoprzecinkowej (
FE_INVALID).
- Błąd bieguna: x jest równe
-1
-
errno jest ustawiane na ERANGE (patrz
także BŁĘDY IMPLEMENTACJI). Rzucany jest
wyjątek zmiennoprzecinkowego dzielenia przez zero (
FE_DIVBYZERO).
Informacje o pojęciach używanych w tym rozdziale można
znaleźć w podręczniku
attributes(7).
Interfejs |
Atrybut |
Wartość |
log1p(), log1pf(), log1pl() |
Bezpieczeństwo wątkowe |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Before glibc 2.22, the glibc implementation did not set
errno to
EDOM when a domain error occurred.
Before glibc 2.22, the glibc implementation did not set
errno to
ERANGE when a range error occurred.
exp(3),
expm1(3),
log(3)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Adam Byrtek <
[email protected]>, Andrzej Krzysztofowicz
<
[email protected]>, Robert Luberda <
[email protected]> i
Michał Kułach <
[email protected]>
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
[email protected]