std::atanh, std::atanhf, std::atanhl
Definido en el archivo de encabezado <cmath>
|
||
float atanh ( float arg ); float atanhf( float arg ); |
(1) | (desde C++11) |
double atanh ( double arg ); |
(2) | (desde C++11) |
long double atanh ( long double arg ); long double atanhl( long double arg ); |
(3) | (desde C++11) |
double atanh ( TipoEntero arg ); |
(4) | (desde C++11) |
arg
.Contenido |
[editar] Parámetros
arg | - | Valor de un tipo de punto flotante o un tipo entero. |
[editar] Valor de retorno
Si no se producen errores, se devuelve la tangente hiperbólica inversa de arg
(tanh-1
(arg), o artanh(arg)).
Si se produce un error de dominio, se devuelve un valor definido por la implementación (NaN donde se dé apoyo).
Si se produce un error de polo, se devuelve ±HUGE_VAL, ±HUGE_VALF
, o se devuelve ±HUGE_VALL
(con el signo correcto).
Si se produce un error debido a subdesbordamiento, se devuelve el resultado correcto (después del redondeo).
[editar] Manejo de errores
Los errores se informan como se especifica en math_errhandling.
Si el argumento es not on the interval [-1, +1], se produce un error de rango.
Si el argumento es ±1, se produce un error de polo.
Si la implementación admite la aritmética de punto flotante IEEE (IEC 60559):
- Si el argumento es +0 o -0, se devuelve +0 o -0, respectivamente.
- Si el argumento es +1, -1, +∞ o -∞, se devuelve +1, -1, +∞ o -∞, respectivamente y se genera FE_DIVBYZERO.
- if |arg|>1, se devuelve NaN y se genera FE_INVALID.
- Si el argumento es NaN, se devuelve NaN.
[editar] Notas
Aunque el estándar C (al que se refiere C++ para esta función) denomina esta función "arco tangente hiperbólica", 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" (usado por POSIX) o "tangente hiperbólica de área".
POSIX especifica que en caso de subdesbordamiento, se devuelva arg
, y si no se permite, se devuelva un valor definido por la implementación no mayor que DBL_MIN, FLT_MIN y LDBL_MIN.
[editar] Ejemplo
#include <iostream> #include <cmath> #include <cfloat> #include <cerrno> #include <cfenv> #include <cstring> #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'; // manejo de errores 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 << " Se generó FE_DIVBYZERO\n"; }
Posible salida:
atanh(0) = 0 atanh(-0) = -0 atanh(0.9) = 1.47222 atanh(-1) = -inf errno == ERANGE: Resultado numérico fuera de rango Se generó FE_DIVBYZERO
[editar] 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 el área de la tangente hiperbólica de un número complejo (artanh(z)). (plantilla de función) |
Documentación de C para atanh
|
[editar] Enlaces externos
Weisstein, Eric W. "Inverse Hyperbolic Tangent." De MathWorld – Un recurso web de Wolfram.