The correct implementation of asinh(x) for Windows plataform is:
-------------------------------------------------------
function asinh($x)
{
return ln($x + sqrt(1 + pow($x, 2)));
}
function ln($x)
{
return $x = log($x)/log(M_E);
}
--------------------------------------------------------
The worksheet above includes a comparation about the native asinh(x) and the implemented version using LN and LOG (like Snoyes posted on 27-Dec-2005 07:42)
http://www.mavadesign.com.br/allan/asinh(x).xls
This implementation using LN, give THE SAME results that function asinh(x) linux native.
Allan Patrick Engel
Curitiba - Paraná - Brasil
asinh
(PHP 4 >= 4.0.7, PHP 5)
asinh — 逆双曲線正弦(アークハイパボリックサイン)
説明
float asinh
( float $arg
)
arg のアークハイパボリックサインを返します。 つまり、ハイパボリックサインが arg となる値です。
注意: この関数は Windows 環境にはまだ実装されていません。
パラメータ
- arg
-
処理する角度。
返り値
arg のアークハイパボリックサインを返します。
asinh
ape_cwb at yahoo dot com dot br
15-Nov-2007 10:40
15-Nov-2007 10:40
Arakrys
09-Jun-2007 04:57
09-Jun-2007 04:57
When using snoyes alternative bcasinh function, don't forget to check the precision of each single bcfunction or the default precision of ini setting bcmath.scale.
snoyes at gmail dot com
28-Dec-2005 12:42
28-Dec-2005 12:42
asinh for windows:
The definition for asinh is asinh(z) = log(z + sqrt(z^2 + 1))
The built-in math functions and operators give poor results for small values of z. The BCMath version produces closer results, but still quite distant if z < 1. A BCMath version of the log function might help.
if (!function_exists("asinh")) {
function asinh($z) {
return log($z + sqrt($z^2 +1));
}
}
if (!function_exists("bcasinh")) {
function bcasinh($z) {
return log(bcadd($z, bcsqrt(bcadd(bcpow($z, 2), 1))));
}
}