JavaScript asinh
Returns the inverse hyperbolic sine of the number, i.e. the value whose hyperbolic sine is number
1 2 3 4 56 7 8 9 10 | function asinh (arg) { // Returns the inverse hyperbolic sine of the number, i.e. the value whose hyperbolic sine is number // // version: 1109.2015 // discuss at: http://phpjs.org/functions/asinh // + original by: Onno Marsman // * example 1: asinh(8723321.4); // * returns 1: 16.67465779841863 return Math.log(arg + Math.sqrt(arg * arg + 1)); } |
Examples
Running
1 | asinh(8723321.4); |
Should return
1 | 16.67465779841863 |
Dependencies
No dependencies, you can use this function standalone.
Open syntax issues
php.js uses JsLint to help us keep our code consistent and prevent some common bugs.
Eventually we want all code to pass or at least take into consideration most fixes suggested by JsLint, following this JsLint configuration we’ve decided on.
Authors
Thanks to the following developers, you get to have asinh goodness in JavaScript.

Mike Speciner
20 Jul '11
To fix the first problem, try
return Math.log(Math.abs(arg) + Math.sqrt(arg * arg + 1))*(arg<0?-1:1);
The second problem is much harder to fix; best might be a rational function approximation for small args.
If there were a builtin function log1p(x) := log(1+x), and similarly
expm1(x) := exp(x)-1, things would be much simpler for all the hyperbolic functions and their inverses.