NAZWA

expm1, expm1f, expm1l - funkcja wykładnicza minus 1

BIBLIOTEKA

Math library ( libm, -lm)

SKŁADNIA

#include <math.h>
double expm1(double x);
float expm1f(float x);
long double expm1l(long double x);

Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
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
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.

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 BŁĘDY IMPLEMENTACJI). 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-Safe
 

STANDARDY

C99, POSIX.1-2001, POSIX.1-2008.

BŁĘDY

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.

ZOBACZ TAKŻE

exp(3), log(3), log1p(3)

TŁUMACZENIE

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]

Recommended readings

Pages related to expm1l you should read also: