- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <multiset >
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <unordered_multiset>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ cmath sinh() Function
The C++ cmath sinh function computes the hyperbolic sine of a given angle in radians. Just like cosh(), sinh() is part of the hyperbolic function, which is similar to the trigonometric function but for a hyperbola.
This function is useful in various mathematical applications, including solving specific differential equations and exploring hyperbolic geometry. It accepts input values of data types such as double, float, or long double.
Syntax
Following is the syntax for C++ cmath sinh() function.
double sinh(double x); or float sinh(float x); or long double sinh(long double x);
Parameters
x - The value representing a hyperbolic angle.
Return Value
The function returns the hyperbolic sine of the specified angle, as a floating-point value. If the result is too large to be represented, the function returns HUGE_VAL (or HUGE_VALF or HUGE_VALL) with the correct sign, indicating an overflow error.
Time Complexity
The time complexity of this function is constant, i.e.,O(1).
Example 1
In this example, we will calculate the hyperbolic sine of a given angle measured in radians.
#include <iostream>
#include <cmath>
int main() {
double value = 1.0;
double result = sinh(value);
std::cout << "The hyperbolic sine of " << value << " is " << result << std::endl;
return 0;
}
Output
Output of the above code is as follows
The hyperbolic sine of 1 is 1.1752
Example 2
Let's calculate the hyperbolic sine of an angle after converting it from degrees to radians.
#include <iostream>
#include <cmath>
int main() {
double angle_degrees = 45.0;
double angle_radians = angle_degrees * (M_PI / 180.0);
std::cout << "Hyperbolic sine of 45 degrees: " << std::sinh(angle_radians) << std::endl;
return 0;
}
Output
Following is the output of the above code
Hyperbolic sine of 45 degrees: 0.868671
Example 3
In this example, we will use std::sinh in a loop to compute the hyperbolic sine values of angles ranging from 0 to 1.5 radians in increments of 0.3.
#include <iostream>
#include <cmath>
int main() {
for (double angle = 0.0; angle <= 1.5; angle += 0.3) {
std::cout << "Hyperbolic sine of " << angle << " radians: " << std::sinh(angle) << std::endl;
}
return 0;
}
Output
If we run the above code it will generate the following output
Hyperbolic sine of 0 radians: 0 Hyperbolic sine of 0.3 radians: 0.30452 Hyperbolic sine of 0.6 radians: 0.636654 Hyperbolic sine of 0.9 radians: 1.02652 Hyperbolic sine of 1.2 radians: 1.50946 Hyperbolic sine of 1.5 radians: 2.12928