Compare this to log1p (which is its inverse).
Also, You may have to use a similar workaraound in case the underlying C library
does not support expm1:
function expm1($x) {
return ($x>-1.0e-6 && $x<1.0e-6) ? ($x + $x*$x/2) : (exp($x)-1);
}
expm1
(PHP 4 >= 4.0.7, PHP 5)
expm1 — 値がゼロに近い時にでも精度を保つために exp(number) - 1 を返す
説明
float expm1
( float $arg
)
警告
この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。
expm1() は、 'exp(number ) - 1' の値を返します。 number がゼロに近く、 'exp (number ) - 1' が引き算時の桁落ちのために 不正確となるような場合でも正確な値が計算できる方法を使用します。
パラメータ
- arg
-
処理する引数。
返り値
'e' の arg 乗から 1 を引いた値を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.3.0 | この関数はすべてのプラットフォームで使用できるようになりました。 |
expm1
hagen at von-eitzen dot de
24-Feb-2003 08:57
24-Feb-2003 08:57