Math.asinh()

The Math.asinh() function returns the hyperbolic arcsine of a number, that is

Math.asinh ( x ) = arsinh ( x ) = the unique y such that sinh ( y ) = x \mathtt{\operatorname{Math.asinh}(x)} = \operatorname{arsinh}(x) = \text{ the unique } ; y ; \text{such that} ; \sinh(y) = x

Syntax

Math.asinh(x)

Parameters

x

A number.

Return value

The hyperbolic arcsine of the given number.

Description

Because asinh() is a static method of Math, you always use it as Math.asinh(), rather than as a method of a Math object you created (Math is not a constructor).

Examples

Using Math.asinh()

Math.asinh(1);  // 0.881373587019543
Math.asinh(0);  // 0

Polyfill

Math.asinh can be emulated with the following function:

if (!Math.asinh) Math.asinh = function(x) {
    var absX = Math.abs(x), w
    if (absX < 3.725290298461914e-9) // |x| < 2^-28
        return x
    if (absX > 268435456) // |x| > 2^28
        w = Math.log(absX) + Math.LN2
    else if (absX > 2) // 2^28 >= |x| > 2
        w = Math.log(2 * absX + 1 / (Math.sqrt(x * x + 1) + absX))
    else
        var t = x * x, w = Math.log1p(absX + t / (1 + Math.sqrt(1 + t)))

    return x > 0 ? w : -w
}

Math.log1p may also have to be polyfilled; see Math.log1p for details.

Specifications

Specification
ECMAScript Language Specification
# sec-math.asinh

Browser compatibility

BCD tables only load in the browser

See also