std::atanh,std::atanh,std::atanhl (3) - Linux Man Pages
Defined in header <cmath>
float atanh ( float arg ); (1) (since C++11)
float atanhf( float arg );
double atanh ( double arg ); (2) (since C++11)
long double atanh ( long double arg ); (3) (since C++11)
long double atanhl( long double arg );
double atanh ( IntegralType arg ); (4) (since C++11)
1-3) Computes the inverse hyperbolic tangent 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
If no errors occur, the inverse hyperbolic tangent of arg (tanh-1
(arg), or artanh(arg)), is returned.
If a domain error occurs, an implementation-defined value is returned (NaN where supported)
If a pole error occurs, ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL is returned (with the correct sign).
If a range error occurs due to underflow, the correct result (after rounding) is returned.
Errors are reported as specified in math_errhandling.
If the argument is not on the interval [-1, +1], a range error occurs.
If the argument is ±1, a pole error occurs.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),
* if the argument is ±0, it is returned unmodified
* if the argument is ±1, ±∞ is returned and FE_DIVBYZERO is raised.
* if |arg|>1, NaN is returned and FE_INVALID is raised.
* if the argument is NaN, NaN is returned
Although the C standard (to which C++ refers for this function) names this function "arc hyperbolic tangent", 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 tangent" (used by POSIX) or "area hyperbolic tangent".
POSIX_specifies that in case of underflow, arg is returned unmodified, and if that is not supported, an implementation-defined value no greater than DBL_MIN, FLT_MIN, and LDBL_MIN is returned.
// Run this code
Weisstein,_Eric_W._"Inverse_Hyperbolic_Tangent." From MathWorld--A Wolfram Web Resource.
asinhl computes the inverse hyperbolic sine (arsinh(x))
acoshl computes the inverse hyperbolic cosine (arcosh(x))