#include <math.h> double log1p(double x);-lm でリンクする。
float log1pf(float x);
long double log1pl(long double x);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
log1p():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or
cc -std=c99
log1pf(),
log1pl():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or
cc -std=c99
log (1 + x)x の値が 0 に近い場合でも正確に計算できる方法が用いられる。
x が NaN の場合、NaN が返される。
x が正の無限大の場合、正の無限大が返される。
x が -1 の場合、極エラー (pole error) が発生し、 各関数はそれぞれ -HUGE_VAL, -HUGE_VALF, -HUGE_VALL を返す。
x が -1 より小さい場合 (負の無限大も含む)、 領域エラー (domain error) が発生し、 NaN (not a number) が返される。
以下のエラーが発生する可能性がある。