次の方法で共有


log1plog1pflog1pl

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++ ヘッダー
log1plog1pflog1pl <math.h> <cmath>
log1p マクロ <tgmath.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

関数リファレンス (アルファベット順)
log2log2flog2l
loglogflog10log10f