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 — Exponentialfunktion mit erhöhter Genauigkeit
Beschreibung
float expm1
( float $arg
)
Warnung
Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.
expm1() berechnet das Äquivalent zu 'exp(arg ) -1' auf eine Weise die auch dann noch genaue Ergebnisse liefert wenn arg sehr klein ist. In solchen Fällen würde exp() auf Grund mangelnder Präzision gerundet eins zurückgeben und das Gesamptergebnis von 'exp(arg ) -1' wäre einfach null.
Parameter-Liste
- arg
-
Der zu verarbeitende Wert
Rückgabewerte
'e' hoch arg minus eins
ChangeLog
| Version | Beschreibung |
|---|---|
| 5.3.0 | Die Funktion ist nun auf allen Plattformen verfügbar. |
expm1
hagen at von-eitzen dot de
24-Feb-2003 03:57
24-Feb-2003 03:57
