expm1, expm1f, expm1l - funkcja wykładnicza minus 1
Math library (
libm,
-lm)
#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
Funkcje te zwracają wartość równoważną
z
exp(x) - 1
The result is computed in a way that is accurate even if the value of
x
is near zero—a case where
exp(x) - 1 would be inaccurate due to
subtraction of two numbers that are nearly equal.
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.
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
BŁĘDY IMPLEMENTACJI). Rzucany jest wyjątek
przekroczenia zakresu operacji zmiennoprzecinkowej (
FE_OVERFLOW).
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-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Before glibc 2.17, on certain architectures (e.g., x86, but not x86_64)
expm1() raised a bogus underflow floating-point exception for some
large negative
x values (where the function result approaches -1).
Before approximately glibc 2.11,
expm1() raised a bogus invalid
floating-point exception in addition to the expected overflow exception, and
returned a NaN instead of positive infinity, for some large positive
x
values.
Before glibc 2.11, the glibc implementation did not set
errno to
ERANGE when a range error occurred.
exp(3),
log(3),
log1p(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]