function
<cmath> <ctgmath>

atanh

     double atanh  (double x);
      float atanhf (float x);
long double atanhl (long double x);
     double atanh (double x);
      float atanh (float x);
long double atanh (long double x);
     double asinh (T x);           // additional overloads for integral types
Compute arc hyperbolic tangent
Returns the arc hyperbolic tangent of x, expressed in radians.

The arc hyperbolic tangent is the inverse operation of the hyperbolic tangent.

Header <tgmath.h> provides a type-generic macro version of this function.
Additional overloads are provided in this header (<cmath>) for the integral types: These overloads effectively cast x to a double before calculations (defined for T being any integral type).

This function is also overloaded in <complex> (see complex atanh).

Parameters

x
Value whose arc hyperbolic tangent is computed, in the interval [-1,+1].
If the argument is out of this interval, a domain error occurs.
For values of -1 and +1, a pole error may occur.

Return Value

Arc hyperbolic tangent of x, in radians.
One radian is equivalent to 180/PI degrees.

If a domain error occurs:
- And math_errhandling has MATH_ERRNO set: the global variable errno is set to EDOM.
- And math_errhandling has MATH_ERREXCEPT set: FE_INVALID is raised.

If a pole error occurs:
- And math_errhandling has MATH_ERRNO set: the global variable errno is set to ERANGE.
- And math_errhandling has MATH_ERREXCEPT set: FE_DIVBYZERO is raised.

Example

1
2
3
4
5
6
7
8
9
10
11
12
/* atanh example */
#include <stdio.h>      /* printf */
#include <math.h>       /* tanh, atanh */

int main ()
{
  double param, result;
  param = tanh(1);
  result = atanh(param) ;
  printf ("The arc hyperbolic tangent of %f is %f radians.\n", param, result);
  return 0;
}


Output:

The arc hyperbolic tangent of 0.761594 is 1.000000 radians.

See also