Selected Reading

C++ cmath atanh() Function



The C++ cmath atanh() function computes the hyperbolic arctangent, which is the inverse of the hyperbolic tangent function. It is mainly used for solving problems involving hyperbolic equations and transforming data. This function accepts input values between -1 and 1 and returns a floating-point number.

Syntax

Following is the syntax for C++ cmath atanh() function.

double atanh(double x);
or
float atanh(float x);
or
long double atanh(long double x);

Parameters

  • x - The value whose area hyperbolic tangent is computed, in the interval [-1,+1]. If the argument falls outside this range, a domain error occurs.

Return Value

The function returns the hyperbolic arctangent of the given value, as a floating-point value.

Time Complexity

The time complexity of this function is constant, i.e.,O(1).

Example 1

In the following example, we are going to calculate the hyperbolic arctangent of a given number using std::atanh().

#include <iostream>
#include <cmath>
int main() {
   double x = 0.5;
   std::cout << "atanh(" << x << ") = " << std::atanh(x) << std::endl;
   return 0;
}

Output

Output of the above code is as follows

atanh(0.5) = 0.549306

Example 2

In the below, we are going to calculate the inverse hyperbolic tangent of a negative input using atanh() function.

#include <iostream>
#include <cmath>
int main() {
   double value = -0.5;
   double result = atanh(value);
   std::cout << "The inverse hyperbolic tangent of " << value << " is " << result << " radians." << std::endl;
   return 0;
}

Output

Following is the output of the above code

The inverse hyperbolic tangent of -0.5 is -0.549306 radians.

Example 3

In the example, we will use the function std::atanh() to calculate the hyperbolic arctangent for several values that are stored in an array.

#include <iostream>
#include <cmath>
int main() {
   double values[] = {0.1, -0.5, 0.3, -0.7};
   for (double x : values) {
      std::cout << "atanh(" << x << ") = " << std::atanh(x) << std::endl;
   }
   return 0;
}

Output

If we run the above code it will generate the following output

atanh(0.1) = 0.100335
atanh(-0.5) = -0.549306
atanh(0.3) = 0.30952
atanh(-0.7) = -0.867301
cpp_cmath.htm
Advertisements