std::acosh,...std::acoshl(3)
π std::acosh, std::acoshf, std::acoshl β C++ Standard Library π
okay bestie, this is the page for std::acosh, std::acoshf, and std::acoshl β the inverse hyperbolic cosine girlies of the C++ Standard Library. They live in <cmath>, and theyβre here to do math with main character energy. β¨
πΈ NAME πΈ
std::acosh, std::acoshf, std::acoshl
β¨ Synopsis β¨
First things first, bestie: this whole family is defined in header <cmath>. Hereβs the full lineup, exactly as it appears β no cap, every overload is invited to the party:
Defined in header <cmath>
float acosh ( float num );
double acosh ( double num ); (until C++23)
long double acosh ( long double num );
/* floating-point-type */ (since C++23)
acosh ( /* floating-point-type */ num );
(constexpr since C++26)
float acoshf( float num ); (1) (2) (since C++11)
(constexpr since C++26)
long double acoshl( long double num ); (3) (since C++11)
(constexpr since C++26)
Additional overloads (since C++11)
Defined in header <cmath>
template< class Integer > (A)
(constexpr since C++26)
double acosh ( Integer num );
So like, 1-3) computes the inverse hyperbolic cosine of num. Slay.
The library provides overloads of std::acosh for all cv-unqualified floating-point types as the type of the parameter. (since C++23)
A) Additional overloads are provided for all integer types, which are (since C++11) treated as double.
π Parameters π
numβ floating-point or integer value
π¦ Return value π¦
If no errors occur, the inverse hyperbolic cosine of num (cosh-1 (num), or arcosh(num)) on the interval [0, +β], is returned. Literally giving math.
If a domain error occurs, an implementation-defined value is returned (NaN where supported). So if things go weird, thatβs the vibe the implementation picked. π
π Error handling π
Errors are reported as specified in math_errhandling.
If the argument is less than 1, a domain error occurs.
If the implementation supports IEEE floating-point arithmetic (IEC 60559):
- if the argument is less than 1,
FE_INVALIDis raised anNaNis returned. - if the argument is 1,
+0is returned. - if the argument is
+β,+βis returned. - if the argument is
NaN,NaNis returned.
bestie, the βless than 1β thing is the domain-error zone. Treat it with respect. π«Ά
π Notes π
Although the C standard (to which C++ refers for this function) names this function βarc hyperbolic cosineβ, the inverse functions of the hyperbolic functions are the area functions. Their argument is the area of a hyperbolic sector, not an arc. The correct name is βinverse hyperbolic cosineβ (used by POSIX) or βarea hyperbolic cosineβ. ikyk. π
The additional overloads are not required to be provided exactly as (A). They only need to be sufficient to ensure that for their argument num of integer type, std::acosh(num) has the same effect as std::acosh(static_cast<double>(num)). periodt. β¨
π» Examples π»
// Run this code
#include <cerrno>
#include <cfenv>
#include <cfloat>
#include <cmath>
#include <cstring>
#include <iostream>
// #pragma STDC FENV_ACCESS ON
int main()
{
std::cout << "acosh(1) = " << std::acosh(1) << '\n'
<< "acosh(10) = " << std::acosh(10) << '\n'
<< "acosh(DBL_MAX) = " << std::acosh(DBL_MAX) << '\n'
<< "acosh(Inf) = " << std::acosh(INFINITY) << '\n';
// error handling
errno = 0;
std::feclearexcept(FE_ALL_EXCEPT);
std::cout << "acosh(0.5) = " << std::acosh(0.5) << '\n';
if (errno == EDOM)
std::cout << " errno == EDOM: " << std::strerror(errno) << '\n';
if (std::fetestexcept(FE_INVALID))
std::cout << " FE_INVALID raised\n";
}
π Possible output π
acosh(1) = 0
acosh(10) = 2.99322
acosh(DBL_MAX) = 710.476
acosh(Inf) = inf
acosh(0.5) = -nan
errno == EDOM: Numerical argument out of domain
FE_INVALID raised
π See also π
asinh,asinhf,asinhlβ computes the inverse hyperbolic sine (arsinh(x)) (C++11) (function)atanh,atanhf,atanhlβ computes the inverse hyperbolic tangent (artanh(x)) (C++11) (function)cosh,coshf,coshlβ computes hyperbolic cosine (cosh(x)) (C++11) (function)acosh(std::complex)β computes area hyperbolic cosine of a complex number (arcosh(z)) (C++11) (function template)- C documentation for
acosh
π₯ External links π₯
- Weisstein, Eric W. βInverse Hyperbolic Cosine.β From MathWorld β A Wolfram Web Resource.
source: cppreference.com Β· date/version: 2024.06.10 Β· page: std::acosh,...std::acoshl(3) πΈ
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms