std:: atanh, std:: atanhf, std:: atanhl
|
Défini dans l'en-tête
<cmath>
|
||
| (1) | ||
|
float
atanh
(
float
num
)
;
double
atanh
(
double
num
)
;
|
(jusqu'à C++23) | |
|
/*floating-point-type*/
atanh ( /*floating-point-type*/ num ) ; |
(depuis C++23)
(constexpr depuis C++26) |
|
|
float
atanhf
(
float
num
)
;
|
(2) |
(depuis C++11)
(constexpr depuis C++26) |
|
long
double
atanhl
(
long
double
num
)
;
|
(3) |
(depuis C++11)
(constexpr depuis C++26) |
|
Surcharge SIMD
(depuis C++26)
|
||
|
Défini dans l'en-tête
<simd>
|
||
|
template
<
/*math-floating-point*/
V
>
constexpr
/*deduced-simd-t*/
<
V
>
|
(S) | (depuis C++26) |
|
Surcharges supplémentaires
(depuis C++11)
|
||
|
Défini dans l'en-tête
<cmath>
|
||
|
template
<
class
Integer
>
double atanh ( Integer num ) ; |
(A) | (constexpr depuis C++26) |
std::atanh
pour tous les types à virgule flottante non qualifiés cv comme type du paramètre.
(depuis C++23)
|
S)
La surcharge SIMD effectue un calcul
std::atanh
élément par élément sur
v_num
.
|
(depuis C++26) |
|
A)
Des surcharges supplémentaires sont fournies pour tous les types entiers, qui sont traités comme
double
.
|
(depuis C++11) |
Table des matières |
Paramètres
| num | - | valeur à virgule flottante ou entière |
Valeur de retour
Si aucune erreur ne se produit, l'arc tangente hyperbolique de
num
(
tanh
-1
(num)
, ou
artanh(num)
), est retourné.
Si une erreur de domaine se produit, une valeur définie par l'implémentation est retournée (NaN là où supporté).
Si une erreur de pôle se produit,
±HUGE_VAL
,
±HUGE_VALF
, ou
±HUGE_VALL
est retourné (avec le signe correct).
Si une erreur de plage se produit en raison d'un dépassement inférieur, le résultat correct (après arrondi) est retourné.
Gestion des erreurs
Les erreurs sont signalées comme spécifié dans math_errhandling .
Si l'argument n'est pas sur l'intervalle
[
-
1
,
+
1
]
, une erreur de domaine se produit.
Si l'argument est ±1, une erreur de pôle se produit.
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559),
- si l'argument est ±0, il est retourné inchangé.
- si l'argument est ±1, ±∞ est retourné et FE_DIVBYZERO est déclenché.
- si |num|>1 , NaN est retourné et FE_INVALID est déclenché.
- si l'argument est NaN, NaN est retourné.
Notes
Bien que la norme C (à laquelle le C++ se réfère pour cette fonction) nomme cette fonction « tangente hyperbolique inverse », les fonctions inverses des fonctions hyperboliques sont les fonctions d'aire. Leur argument est l'aire d'un secteur hyperbolique, et non un arc. Le nom correct est « tangente hyperbolique inverse » (utilisé par POSIX) ou « tangente hyperbolique d'aire ».
POSIX spécifie qu'en cas de dépassement inférieur, num est retourné non modifié, et si cela n'est pas pris en charge, une valeur définie par l'implémentation non supérieure à DBL_MIN , FLT_MIN , et LDBL_MIN est retournée.
Les surcharges supplémentaires ne sont pas requises d'être fournies exactement comme (A) . Elles doivent seulement être suffisantes pour garantir que pour leur argument num de type entier, std :: atanh ( num ) ait le même effet que std :: atanh ( static_cast < double > ( num ) ) .
Exemple
#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'; // gestion des erreurs 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 levée\n"; }
Sortie possible :
atanh(0) = 0
atanh(-0) = -0
atanh(0.9) = 1.47222
atanh(-1) = -inf
errno == ERANGE: Résultat numérique hors limites
FE_DIVBYZERO levée
Voir aussi
|
(C++11)
(C++11)
(C++11)
|
calcule le sinus hyperbolique inverse (
arsinh(x)
)
(fonction) |
|
(C++11)
(C++11)
(C++11)
|
calcule le cosinus hyperbolique inverse (
arcosh(x)
)
(fonction) |
|
(C++11)
(C++11)
|
calcule la tangente hyperbolique (
tanh(x)
)
(fonction) |
|
(C++11)
|
calcule la tangente hyperbolique inverse d'un nombre complexe (
artanh(z)
)
(modèle de fonction) |
|
Documentation C
pour
atanh
|
|
Liens externes
| Weisstein, Eric W. "Inverse Hyperbolic Tangent." De MathWorld — Une ressource web Wolfram. |