std::acosh, std::acoshf, std::acoshl
| Definiert in der Header-Datei <cmath> |
||
| (1) | ||
float acosh ( float num ); double acosh ( double num ); |
(bis C++23) | |
| /* Gleitkommazahl-Typ */ acosh ( /*Gleitkomma-Typ*/ num ); |
(seit C++23) (constexpr seit C++26) |
|
float acoshf( float num ); |
(2) | (seit C++11) (constexpr seit C++26) |
long double acoshl( long double num ); |
(3) | (seit C++11) (constexpr seit C++26) |
| SIMD-Überladung (seit C++26) |
||
| Definiert im Header <simd> |
||
| template< /*math-floating-point*/ V > constexpr /*deduzierter-simd-t*/<V> |
(S) | (seit C++26) |
| Zusätzliche Überladungen (seit C++11) |
||
| Definiert in der Header-Datei <cmath> |
||
template< class Integer > double acosh ( Integer num ); |
(A) | (constexpr seit C++26) |
std::acosh für alle cv-unqualifizierten Gleitkommatypen als Parametertyp bereit.(seit C++23)|
S) Die SIMD-Überladung führt eine elementweise
std::acosh für v_num aus.
|
(seit C++26) |
|
A) Zusätzliche Überladungen werden für alle ganzzahligen Typen bereitgestellt, die als double behandelt werden.
|
(seit C++11) |
Inhalt |
[edit] Parameter
| num | - | Gleitkomma- oder Ganzzahlwert |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der inverse hyperbolische Kosinus von num (cosh-1
(num) oder arcosh(num)) im Intervall [0, +∞] zurückgegeben.
Wenn ein Domänenfehler auftritt, wird ein implementierungsabhängiger Wert zurückgegeben (NaN, wo unterstützt).
[edit] Fehlerbehandlung
Fehler werden wie in math_errhandling beschrieben gemeldet.
Wenn das Argument kleiner als 1 ist, tritt ein Domänenfehler auf.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt,
- Wenn das Argument kleiner als 1 ist, wird FE_INVALID ausgelöst und NaN zurückgegeben.
- Wenn das Argument 1 ist, wird +0 zurückgegeben.
- Wenn das Argument +∞ ist, wird +∞ zurückgegeben.
- Wenn das Argument NaN ist, wird NaN zurückgegeben.
[edit] Hinweise
Obwohl der C-Standard (auf den sich C++ für diese Funktion bezieht) diese Funktion "arcus hyperbolischer Kosinus" nennt, sind die inversen Funktionen der hyperbolischen Funktionen die Areafunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, nicht eines Bogens. Der korrekte Name ist "inverser hyperbolischer Kosinus" (wie von POSIX verwendet) oder "Area hyperbolischer Kosinus".
Die zusätzlichen Überladungen müssen nicht exakt als (A) bereitgestellt werden. Sie müssen nur ausreichen, um sicherzustellen, dass für ihr Argument num vom ganzzahligen Typ std::acosh(num) dieselbe Wirkung hat wie std::acosh(static_cast<double>(num)).
[edit] Beispiele
#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"; }
Mögliche Ausgabe
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[edit] Siehe auch
| (C++11)(C++11)(C++11) |
berechnet den inversen hyperbolischen Sinus (arsinh(x)) (Funktion) |
| (C++11)(C++11)(C++11) |
berechnet den inversen hyperbolischen Tangens (artanh(x)) (Funktion) |
| (C++11)(C++11) |
berechnet den hyperbolischen Kosinus (cosh(x)) (Funktion) |
| (C++11) |
berechnet den Area Hyperbolicus Kosinus einer komplexen Zahl (arcosh(z)) (function template) |
| C-Dokumentation für acosh
| |
[edit] Externe Links
| Weisstein, Eric W. "Inverse Hyperbolic Cosine." Von MathWorld — Eine Wolfram Web Ressource. |