expm1

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

expm1 値がゼロに近い時にでも精度を保つために exp(number) - 1 を返す

説明

expm1(float $num): float

expm1() は、 exp($num) - 1 の値を返します。 num がゼロに近く、 exp($num) - 1 が引き算時の桁落ちのために 不正確となるような場合でも正確な値が計算できる方法を使用します。

パラメータ

num

処理する引数。

戻り値

enum 乗から 1 を引いた値を返します。

参考

  • log1p() - 値がゼロに近い時にでも精度を保つ方法で計算した log(1 + number) を返す
  • exp() - e の累乗を計算する

add a note add a note

User Contributed Notes 2 notes

up
-1
brettz9 AAT yah
15 years ago
Note that exp(x)-1 can be approximated by x + x^2/2! + ... + x^n/n!  and for any value
up
-1
hagen at von-eitzen dot de
21 years ago
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:

<?php
function expm1($x) {
     return (
$x>-1.0e-6 && $x<1.0e-6) ? ($x + $x*$x/2) : (exp($x)-1);
}
?>
To Top