std:: atanh, std:: atanhf, std:: atanhl
|
Definiert in Header
<cmath>
|
||
| (1) | ||
|
float
atanh
(
float
num
)
;
double
atanh
(
double
num
)
;
|
(bis C++23) | |
|
/*floating-point-type*/
atanh ( /*floating-point-type*/ num ) ; |
(seit C++23)
(constexpr seit C++26) |
|
|
float
atanhf
(
float
num
)
;
|
(2) |
(seit C++11)
(constexpr seit C++26) |
|
long
double
atanhl
(
long
double
num
)
;
|
(3) |
(seit C++11)
(constexpr seit C++26) |
|
SIMD-Überladung
(seit C++26)
|
||
|
Definiert in Header
<simd>
|
||
|
template
<
/*math-floating-point*/
V
>
constexpr
/*deduced-simd-t*/
<
V
>
|
(S) | (seit C++26) |
|
Zusätzliche Überladungen
(seit C++11)
|
||
|
Definiert in Header
<cmath>
|
||
|
template
<
class
Integer
>
double atanh ( Integer num ) ; |
(A) | (constexpr seit C++26) |
std::atanh
für alle cv-unqualifizierten Gleitkommatypen als Typ des Parameters an.
(since C++23)
|
S)
Die SIMD-Überladung führt eine elementweise
std::atanh
auf
v_num
aus.
|
(seit C++26) |
|
A)
Zusätzliche Überladungen werden für alle Ganzzahltypen bereitgestellt, die als
double
behandelt werden.
|
(seit C++11) |
Inhaltsverzeichnis |
Parameter
| num | - | Gleitkomma- oder Ganzzahlwert |
Rückgabewert
Wenn keine Fehler auftreten, wird der inverse hyperbolische Tangens von
num
(
tanh
-1
(num)
, oder
artanh(num)
), zurückgegeben.
Wenn ein Domänenfehler auftritt, wird ein implementierungsdefinierter Wert zurückgegeben (NaN, sofern unterstützt).
Wenn ein Polfehler auftritt,
±HUGE_VAL
,
±HUGE_VALF
, oder
±HUGE_VALL
wird zurückgegeben (mit korrektem Vorzeichen).
Wenn ein Bereichsfehler aufgrund von Unterlauf auftritt, wird das korrekte Ergebnis (nach Rundung) zurückgegeben.
Fehlerbehandlung
Fehler werden gemeldet, wie in math_errhandling spezifiziert.
Wenn das Argument nicht im Intervall
[
-
1
,
+
1
]
liegt, tritt ein Bereichsfehler auf.
Wenn das Argument ±1 ist, tritt ein Polfehler auf.
Wenn die Implementierung IEEE-Gleitkommaarithmetik (IEC 60559) unterstützt,
- wenn das Argument ±0 ist, wird es unverändert zurückgegeben.
- wenn das Argument ±1 ist, wird ±∞ zurückgegeben und FE_DIVBYZERO wird ausgelöst.
- wenn |num|>1 , wird NaN zurückgegeben und FE_INVALID wird ausgelöst.
- wenn das Argument NaN ist, wird NaN zurückgegeben.
Hinweise
Obwohl der C-Standard (auf den C++ für diese Funktion verweist) diese Funktion "Areakosinus Hyperbolicus" nennt, sind die Umkehrfunktionen der hyperbolischen Funktionen die Areafunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, kein Bogen. Der korrekte Name ist "inverse hyperbolische Tangens" (von POSIX verwendet) oder "Areatangens Hyperbolicus".
POSIX spezifiziert , dass im Fall eines Unterlaufs num unverändert zurückgegeben wird, und falls dies nicht unterstützt wird, ein implementierungsdefinierter Wert zurückgegeben wird, der nicht größer als DBL_MIN , FLT_MIN , und LDBL_MIN ist.
Die zusätzlichen Überladungen müssen nicht exakt wie (A) bereitgestellt werden. Sie müssen lediglich sicherstellen, dass für ihr Argument num vom Ganzzahltyp std :: atanh ( num ) die gleiche Wirkung hat wie std :: atanh ( static_cast < double > ( num ) ) .
Beispiel
#include <cerrno> #include <cfenv> #include <cfloat> #include <cmath> #include <cstring> #include <iostream> // #pragma STDC FENV_ACCESS ON int main() { std::cout << "atanh(0) = " << std::atanh(0) << '\n' << "atanh(-0) = " << std::atanh(-0.0) << '\n' << "atanh(0.9) = " << std::atanh(0.9) << '\n'; // Fehlerbehandlung errno = 0; std::feclearexcept(FE_ALL_EXCEPT); std::cout << "atanh(-1) = " << std::atanh(-1) << '\n'; if (errno == ERANGE) std::cout << " errno == ERANGE: " << std::strerror(errno) << '\n'; if (std::fetestexcept(FE_DIVBYZERO)) std::cout << " FE_DIVBYZERO ausgelöst\n"; }
Mögliche Ausgabe:
atanh(0) = 0
atanh(-0) = -0
atanh(0.9) = 1.47222
atanh(-1) = -inf
errno == ERANGE: Numerical result out of range
FE_DIVBYZERO ausgelöst
Siehe auch
|
(C++11)
(C++11)
(C++11)
|
berechnet den Areasinus Hyperbolicus (
arsinh(x)
)
(Funktion) |
|
(C++11)
(C++11)
(C++11)
|
berechnet den Areakosinus Hyperbolicus (
arcosh(x)
)
(Funktion) |
|
(C++11)
(C++11)
|
berechnet den Tangens Hyperbolicus (
tanh(x)
)
(Funktion) |
|
(C++11)
|
berechnet den Areatangens Hyperbolicus einer komplexen Zahl (
artanh(z)
)
(Funktionsschablone) |
|
C-Dokumentation
für
atanh
|
|
Externe Links
| Weisstein, Eric W. "Inverse Hyperbolic Tangent." Von MathWorld — Eine Wolfram Web Resource. |