log1p
, , log1pf
log1pl
Vypočítá přirozený logaritmus 1 plus zadanou hodnotu.
Syntaxe
double log1p(double x);
float log1pf(float x);
long double log1pl(long double x);
#define log1p(X) // Requires C11 or higher
float log1p(float x); //C++ only
long double log1p(long double x); //C++ only
Parametry
x
Argument s plovoucí desetinou čárkou.
Vrácená hodnota
V případě úspěchu vrátí přirozený protokol (základ e) (x
+ 1).
V opačném případě může vrátit jednu z následujících hodnot:
Vstup | Výsledek | Výjimka SEH | errno |
---|---|---|---|
+INF | +INF | ||
Denormals | Stejné jako vstup | UNDERFLOW |
|
±0 | Stejné jako vstup | ||
-1 | -INF | DIVBYZERO |
ERANGE |
< -1 | Není číslo | INVALID |
EDOM |
-INF | Není číslo | INVALID |
EDOM |
±SNaN | Stejné jako vstup | INVALID |
|
±QNaN, neomezená | Stejné jako vstup |
Hodnota je nastavena errno
na ERANGE, pokud x
= -1. Hodnota je nastavena errno
na EDOM
hodnotu - x
< 1.
Poznámky
Funkce log1p
můžou být přesnější než použití log(x + 1)
, pokud x
je téměř 0.
Vzhledem k tomu, že jazyk C++ umožňuje přetížení, můžete volat přetížení log1p
, která přebírají a vracejí float
a long double
typy. Pokud v programu jazyka C nepoužíváte <makro tgmath.h> k volání této funkce, log1p
vždy přebírá a vrací hodnotu double
.
Pokud použijete <tgmath.h>
log1p()
makro, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Kde x
je přirozené číslo, vrátí tato funkce základní logaritmus x
+ 1.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Function | Záhlaví jazyka C | Hlavička jazyka C++ |
---|---|---|
log1p , , log1pf log1pl |
<math.h> |
<cmath> |
log1p makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Abecední odkaz na funkci
log2
, , log2f
log2l
log
, logf
, , log10
log10f