log1p
、 log1pf
、 log1pl
1 に指定された値を加えた値の自然対数を計算します。
構文
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
パラメーター
x
浮動小数点引数。
戻り値
成功した場合は、(x
+ 1) の自然 (base-e) ログを返します。
それ以外の場合は、次の値のいずれかを返します。
入力 | 結果 | SEH 例外 | errno |
---|---|---|---|
+INF | +INF | ||
非正規化数 | 入力と同じ | UNDERFLOW |
|
±0 | 入力と同じ | ||
-1 | -INF | DIVBYZERO |
ERANGE |
< -1 | NaN | INVALID |
EDOM |
-INF | NaN | INVALID |
EDOM |
±SNaN | 入力と同じ | INVALID |
|
±QNaN (不定値) | 入力と同じ |
x
= -1 の場合、errno
値は ERANGE に設定されます。 x
< -1 の場合、errno
値はEDOM
に設定されます。
解説
log1p
関数は、x
が 0 に近い場合にlog(x + 1)
を使用するよりも正確な場合があります。
C++ ではオーバーロードが可能であるため、log1p
型および float
型を受け取って返す long double
のオーバーロードを呼び出すことができます。 C プログラムでは、<tgmath.h> マクロを使用してこの関数を呼び出す場合を除き、log1p
では常に double
を受け取って返します。
<tgmath.h>
log1p()
マクロを使用する場合、引数の型によって、選択される関数のバージョンが決まります。 詳細については、「ジェネリック型数値演算」を参照してください。
x
が自然数の場合、この関数は x
+ 1 の底 e 対数を返します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
機能 | C ヘッダー | C++ ヘッダー |
---|---|---|
log1p 、 log1pf 、 log1pl |
<math.h> |
<cmath> |
log1p マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。
関連項目
関数リファレンス (アルファベット順)
log2
、 log2f
、 log2l
log
、 logf
、 log10
、 log10f