Open In App

# cosh() function in C++ STL

The cosh() is an inbuilt function in C++ STL which returns the hyperbolic cosine of an angle given in radians. Syntax :

`cosh(data_type x)`

Parameter :The function accepts one mandatory parameter x which specifies the hyperbolic angle in radian. The parameter can be of double, float or long double datatype.
Return Value: The function returns the hyperbolic cosine of the argument. If the magnitude of the result is too large to be represented by a value of the return type, the function returns inf. Below programs illustrate the above method:

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

Program 1:

## CPP

 `// CPP program to demonstrate the``// cosh() function``#include ``using` `namespace` `std;` `int` `main()``{``    ``double` `x = 4.1, result;` `    ``result = ``cosh``(x);``    ``cout << ``"cosh(4.1) = "` `<< result << endl;` `    ``// x in Degrees``    ``double` `xDegrees = 90;``    ``x = xDegrees * 3.14159 / 180;` `    ``result = ``cosh``(x);``    ``cout << ``"cosh(90 degrees) = "` `<< result << endl;` `    ``return` `0;``}`

Output

```cosh(4.1) = 30.1784
cosh(90 degrees) = 2.50918
```

Program 2:

## CPP

 `// CPP program to demonstrate the``// cosh() function``#include ``using` `namespace` `std;` `int` `main()``{``    ``int` `x = -4;``    ``double` `result;` `    ``result = ``cosh``(x);``    ``cout << ``"cosh(-4) = "` `<< result << endl;` `    ``// x in Degrees``    ``double` `xDegrees = 90;``    ``x = xDegrees * 3.14159 / 180;` `    ``result = ``cosh``(x);``    ``cout << ``"cosh(90 degrees) = "` `<< result << endl;` `    ``return` `0;``}`

Output

```cosh(-4) = 27.3082
cosh(90 degrees) = 1.54308
```

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

Program 3:

## CPP

 `// CPP program to demonstrate the``// cosh() function when string passed``#include ``using` `namespace` `std;` `int` `main()``{``    ``string x = ``"gfg"``;``    ``double` `result;` `    ``result = ``cosh``(x);``    ``cout << ``"cosh("``gfg``") = "` `<< result << endl;` `    ``return` `0;``}`

Output:

```prog.cpp:14:20: error: no matching function for call to 'cosh(std::__cxx11::string&)'
result = cosh(x);```

Program 4: When argument is too large.

## CPP

 `// CPP program to demonstrate the cosh()``// function``#include ``using` `namespace` `std;` `int` `main()``{``    ``double` `x = 3000.0, result;` `    ``result = ``cosh``(x);``    ``cout << ``"cosh(3000.0) = "` `<< result << endl;` `    ``return` `0;``}`

Output

```cosh(3000.0) = inf
```