Open In App

asinh() function in C++ STL

Improve
Improve
Like Article
Like
Save
Share
Report

The asinh() is an inbuilt function in C++ STL that returns the inverse hyperbolic sine of an angle given in radians. The function belongs to <cmath> header file.
Syntax: 

asinh(data_type x)

Time Complexity: O(1)
Auxiliary Space: O(1)

Parameter: The function accepts one mandatory parameter x which specifies the inverse hyperbolic angle in radian. It can be any value i.e. negative, positive, or zero. 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.

According to C++ 11 standard, there are various prototypes available for asinh() function:

Datatype Prototype
For int  double asinh(T val); 
For float float asinh(float val);
For double double asinh(double val);
For long double long double asinh(long double val);

Here, val is the variable.
Example 1: 

CPP




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


Output

asinh(50.0) = 4.60527 radians
asinh(50.0) = 263.863 degrees

Example 2: 

CPP





Output

asinh(-50.0) = -4.60527 radians
asinh(-50.0) = -263.863 degrees

Errors and Exceptions: The function returns no matching function for call to error when a string or character is passed as an argument.
 
Example: 

CPP




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


Error:

prog.cpp: In function ‘int main()’:
prog.cpp:12:28: error: no matching function for call to ‘asinh(std::__cxx11::string&)’
     double result = asinh(x);

The above program generates an error of no matching function for call as a string is passed as an argument. 

 



Last Updated : 02 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads