std:: atanh, std:: atanhf, std:: atanhl
|
Definido en el encabezado
<cmath>
|
||
| (1) | ||
|
float
atanh
(
float
num
)
;
double
atanh
(
double
num
)
;
|
(hasta C++23) | |
|
/*floating-point-type*/
atanh ( /*floating-point-type*/ num ) ; |
(desde C++23)
(constexpr desde C++26) |
|
|
float
atanhf
(
float
num
)
;
|
(2) |
(desde C++11)
(constexpr desde C++26) |
|
long
double
atanhl
(
long
double
num
)
;
|
(3) |
(desde C++11)
(constexpr desde C++26) |
|
Sobrecarga SIMD
(desde C++26)
|
||
|
Definido en el encabezado
<simd>
|
||
|
template
<
/*math-floating-point*/
V
>
constexpr
/*deduced-simd-t*/
<
V
>
|
(S) | (desde C++26) |
|
Sobrecargas adicionales
(desde C++11)
|
||
|
Definido en el encabezado
<cmath>
|
||
|
template
<
class
Integer
>
double atanh ( Integer num ) ; |
(A) | (constexpr desde C++26) |
std::atanh
para todos los tipos de punto flotante sin calificación cv como el tipo del parámetro.
(desde C++23)
|
S)
La sobrecarga SIMD realiza un
std::atanh
elemento por elemento en
v_num
.
|
(desde C++26) |
|
A)
Se proporcionan sobrecargas adicionales para todos los tipos enteros, los cuales son tratados como
double
.
|
(since C++11) |
Contenidos |
Parámetros
| num | - | valor de punto flotante o entero |
Valor de retorno
Si no ocurren errores, se devuelve la tangente hiperbólica inversa de
num
(
tanh
-1
(num)
, o
artanh(num)
).
Si ocurre un error de dominio, se devuelve un valor definido por la implementación (NaN donde esté soportado).
Si ocurre un error de polo,
±HUGE_VAL
,
±HUGE_VALF
, o
±HUGE_VALL
es devuelto (con el signo correcto).
Si ocurre un error de rango debido a desbordamiento inferior, se devuelve el resultado correcto (después del redondeo).
Manejo de errores
Los errores se reportan como se especifica en math_errhandling .
Si el argumento no está en el intervalo
[
-
1
,
+
1
]
, ocurre un error de rango.
Si el argumento es ±1, se produce un error de polo.
Si la implementación soporta aritmética de punto flotante IEEE (IEC 60559),
- si el argumento es ±0, se devuelve sin modificación.
- si el argumento es ±1, se devuelve ±∞ y FE_DIVBYZERO se activa.
- si |num|>1 , se devuelve NaN y FE_INVALID se activa.
- si el argumento es NaN, se devuelve NaN.
Notas
Aunque el estándar C (al que C++ hace referencia para esta función) denomina a esta función "tangente hiperbólica arco", las funciones inversas de las funciones hiperbólicas son las funciones de área. Su argumento es el área de un sector hiperbólico, no un arco. El nombre correcto es "tangente hiperbólica inversa" (utilizado por POSIX) o "tangente hiperbólica de área".
POSIX especifica que en caso de subdesbordamiento, num se devuelve sin modificar, y si eso no es compatible, se devuelve un valor definido por la implementación no mayor que DBL_MIN , FLT_MIN , y LDBL_MIN .
Las sobrecargas adicionales no requieren ser proporcionadas exactamente como (A) . Solo necesitan ser suficientes para garantizar que para su argumento num de tipo entero, std :: atanh ( num ) tenga el mismo efecto que std :: atanh ( static_cast < double > ( num ) ) .
Ejemplo
#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'; // error handling 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 raised\n"; }
Salida posible:
atanh(0) = 0
atanh(-0) = -0
atanh(0.9) = 1.47222
atanh(-1) = -inf
errno == ERANGE: Numerical result out of range
FE_DIVBYZERO raised
Véase también
|
(C++11)
(C++11)
(C++11)
|
calcula el seno hiperbólico inverso (
arsinh(x)
)
(función) |
|
(C++11)
(C++11)
(C++11)
|
calcula el coseno hiperbólico inverso (
arcosh(x)
)
(función) |
|
(C++11)
(C++11)
|
calcula la tangente hiperbólica (
tanh(x)
)
(función) |
|
(C++11)
|
calcula la tangente hiperbólica de área de un número complejo (
artanh(z)
)
(plantilla de función) |
|
Documentación C
para
atanh
|
|
Enlaces externos
| Weisstein, Eric W. "Tangente Hiperbólica Inversa." De MathWorld — Un recurso web de Wolfram. |