ctanhf, ctanh, ctanhl
|
Definido en el encabezado
<complex.h>
|
||
| (1) | (desde C99) | |
| (2) | (desde C99) | |
| (3) | (desde C99) | |
|
Definido en el encabezado
<tgmath.h>
|
||
|
#define tanh( z )
|
(4) | (desde C99) |
z
.
z
tiene tipo
long
double
complex
,
ctanhl
es llamado. Si
z
tiene tipo
double
complex
,
ctanh
es llamado. Si
z
tiene tipo
float
complex
,
ctanhf
es llamado. Si
z
es real o entero, entonces el macro invoca la función real correspondiente (
tanhf
,
tanh
,
tanhl
). Si
z
es imaginario, entonces el macro invoca la versión real correspondiente de la función
tan
, implementando la fórmula
tanh(iy) = i tan(y)
, y el tipo de retorno es imaginario.
Contenidos |
Parámetros
| z | - | argumento complejo |
Valor de retorno
Si no ocurren errores, se devuelve la tangente hiperbólica compleja de
z
Manejo de errores y valores especiales
Los errores se reportan de manera consistente con math_errhandling
Si la implementación soporta aritmética de punto flotante IEEE,
- ctanh ( conj ( z ) ) == conj ( ctanh ( z ) )
- ctanh ( - z ) == - ctanh ( z )
-
Si
zes+0+0i, el resultado es+0+0i -
Si
zesx+∞i(para cualquier x finita [1] ), el resultado esNaN+NaNiy se genera FE_INVALID -
Si
zesx+NaN(para cualquier x finita [2] ), el resultado esNaN+NaNiy puede generarse FE_INVALID -
Si
zes+∞+yi(para cualquier y positiva finita), el resultado es1+0i -
Si
zes+∞+∞i, el resultado es1±0i(el signo de la parte imaginaria no está especificado) -
Si
zes+∞+NaNi, el resultado es1±0i(el signo de la parte imaginaria no está especificado) -
Si
zesNaN+0i, el resultado esNaN+0i -
Si
zesNaN+yi(para cualquier y distinta de cero), el resultado esNaN+NaNiy puede generarse FE_INVALID -
Si
zesNaN+NaNi, el resultado esNaN+NaNi
-
↑
según
DR471
, esto solo se aplica para x distinto de cero. Si
zes0+∞i, el resultado debe ser0+NaNi -
↑
según
DR471
, esto solo se aplica para x distinto de cero. Si
zes0+NaNi, el resultado debe ser0+NaNi
Notas
Mathematical definition of hyperbolic tangent is tanh z =|
e
z
-e -z |
|
e
z
+e -z |
La tangente hiperbólica es una función analítica en el plano complejo y no tiene cortes de rama. Es periódica con respecto al componente imaginario, con período πi, y tiene polos de primer orden a lo largo de la línea imaginaria, en coordenadas (0, π(1/2 + n)) . Sin embargo, ninguna representación común de punto flotante puede representar π/2 exactamente, por lo tanto no existe ningún valor del argumento para el cual ocurra un error de polo.
Ejemplo
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = ctanh(1); // se comporta como tanh real a lo largo de la línea real printf("tanh(1+0i) = %f%+fi (tanh(1)=%f)\n", creal(z), cimag(z), tanh(1)); double complex z2 = ctanh(I); // se comporta como tangente a lo largo de la línea imaginaria printf("tanh(0+1i) = %f%+fi ( tan(1)=%f)\n", creal(z2), cimag(z2), tan(1)); }
Salida:
tanh(1+0i) = 0.761594+0.000000i (tanh(1)=0.761594) tanh(0+1i) = 0.000000+1.557408i ( tan(1)=1.557408)
Referencias
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.3.6.6 Las funciones ctanh (p: 194)
-
- 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: 373-375)
-
- G.6.2.6 Las funciones ctanh (p: 542)
-
- G.7 Matemáticas genéricas de tipos <tgmath.h> (p: 545)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.3.6.6 Las funciones ctanh (p: 176)
-
- 7.22 Matemáticas genéricas de tipos <tgmath.h> (p: 335-337)
-
- G.6.2.6 Las funciones ctanh (p: 477)
-
- G.7 Matemáticas genéricas de tipos <tgmath.h> (p: 480)
Véase también
|
(C99)
(C99)
(C99)
|
calcula el seno hiperbólico complejo
(función) |
|
(C99)
(C99)
(C99)
|
calcula el coseno hiperbólico complejo
(función) |
|
(C99)
(C99)
(C99)
|
calcula la tangente hiperbólica arco compleja
(función) |
|
(C99)
(C99)
|
calcula la tangente hiperbólica (
tanh(x)
)
(función) |
|
Documentación para C++
para
tanh
|
|