std::asinh,std::asinhf,std::asinhl (3) - Linux Manuals

std::asinh,std::asinhf,std::asinhl: std::asinh,std::asinhf,std::asinhl


std::asinh,std::asinhf,std::asinhl - std::asinh,std::asinhf,std::asinhl


Defined in header <cmath>
float asinh ( float arg ); (1) (since C++11)
float asinhf( float arg );
double asinh ( double arg ); (2) (since C++11)
long double asinh ( long double arg ); (3) (since C++11)
long double asinhl( long double arg );
double asinh ( IntegralType arg ); (4) (since C++11)

1-3) Computes the inverse hyperbolic sine of arg.
4) A set of overloads or a function template accepting an argument of any integral_type. Equivalent to 2) (the argument is cast to double).


arg - value of a floating-point or Integral_type

Return value

If no errors occur, the inverse hyperbolic sine of arg (sinh-1
(arg), or arsinh(arg)), is returned.
If a range error occurs due to underflow, the correct result (after rounding) is returned.

Error handling

Errors are reported as specified in math_errhandling.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),

* if the argument is ±0 or ±∞, it is returned unmodified
* if the argument is NaN, NaN is returned


Although the C standard (to which C++ refers for this function) names this function "arc hyperbolic sine", the inverse functions of the hyperbolic functions are the area functions. Their argument is the area of a hyperbolic sector, not an arc. The correct name is "inverse hyperbolic sine" (used by POSIX) or "area hyperbolic sine".


// Run this code

  #include <iostream>
  #include <cmath>

  int main()
      std::cout << "asinh(1) = " << std::asinh(1) << '\n'
                << "asinh(-1) = " << std::asinh(-1) << '\n';
      // special values
      std::cout << "asinh(+0) = " << std::asinh(+0.0) << '\n'
                << "asinh(-0) = " << std::asinh(-0.0) << '\n';


  asinh(1) = 0.881374
  asinh(-1) = -0.881374
  asinh(+0) = 0
  asinh(-0) = -0

External links

Weisstein,_Eric_W._"Inverse_Hyperbolic_Sine." From MathWorld--A Wolfram Web Resource.

See also

acoshl computes the inverse hyperbolic cosine (arcosh(x))

atanhl computes the inverse hyperbolic tangent (artanh(x))

sinhl computes hyperbolic sine (sh(x))


asinh(std::complex) computes area hyperbolic sine of a complex number
                    (function template)