1 に指定された値を加えた値の自然対数を計算します。
構文
double log1p(double x);
float log1pf(float x);
long double log1pl(long double x);
#define log1p(X) // Requires C11 or later
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