atanh() function in C++ STL

The atanh() is an inbuilt function in C++ STL which returns the inverse hyperbolic tangent of an angle given in radians.

Syntax:

atanh(data_type x)

Parameter: This function accepts one mandatory parameter x which specifies the inverse hyperbolic angle in radian which lies in the range [-1, 1]. The parameter can be of double, float or long double datatype.

Return Value: This function returns the inverse hyperbolic sine of the argument in radians depending on the parameter passed in the argument. The different return values are given in the table below:

Below programs illustrate the above method:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to illustrate
// the atanh() function
// all return values
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Return value when -1<x<1
    int x = 0;
    // Function call to calculate atanh(x) value
    double result = atanh(x);
  
    cout << "atanh(0) = " << result << " radians\n";
    cout << "atanh(0) = " << result * 180 / 3.141592
         << " degrees\n";
  
    // Return value when x=-1
    x = -1;
    result = atanh(x);
  
    cout << "\natanh(-1) = " << result << " radians\n";
    cout << "atanh(-1) = " << result * 180 / 3.141592
         << " degrees\n";
  
    // Return value when x=1
    x = 1;
    result = atanh(x);
  
    cout << "\natanh(1) = " << result << " radians\n";
    cout << "atanh(1) = " << result * 180 / 3.141592
         << " degrees\n";
  
    // Return value when x<-1 or x>1
    x = -2;
    result = atanh(x);
  
    cout << "\natanh(-2) = " << result << " radians\n";
    cout << "atanh(-2) = " << result * 180 / 3.141592
         << " degrees\n";
  
    return 0;
}

chevron_right


Output:

atanh(0) = 0 radians
atanh(0) = 0 degrees

atanh(-1) = -inf radians
atanh(-1) = -inf degrees

atanh(1) = inf radians
atanh(1) = inf degrees

atanh(-2) = -nan radians
atanh(-2) = -nan degrees

Errors and Exceptions: The function returns a no matching function error message when a string or any other data_type except the one which the function excepts is passed.

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate
// the atanh() function 
// string passed
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    string x = "gfg";
  
    // Function call to calculate atanh(x) value
    double result = atanh(x);
  
    cout << "atanh(50.0) = " << result << " radians" << endl;
    cout << "atanh(50.0) = " << result * 180 / 3.141592
         << " degrees" << endl;
    return 0;
}

chevron_right


Output:

prog.cpp:11:25: error: no matching function for call to 'atanh(std::__cxx11::string&)'
  double result = atanh(x);


My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.