ctanhf, ctanh, ctanhl

来自cppreference.com
< c‎ | numeric‎ | complex
 
 
 
复数算术
类型与虚数常量
(C99)
(C11)
(C99)
操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
幂与指数函数
(C99)
(C99)
(C99)
(C99)
三角函数
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
双曲函数
(C99)
(C99)
ctanh
(C99)
(C99)
(C99)
(C99)
 
定义于头文件 <complex.h>
float complex       ctanhf( float complex z );
(1) (C99 起)
double complex      ctanh( double complex z );
(2) (C99 起)
long double complex ctanhl( long double complex z );
(3) (C99 起)
定义于头文件 <tgmath.h>
#define tanh( z )
(4) (C99 起)
1-3) 计算 z 的复双曲正切。
4) 泛型宏:若 z 拥有 long double complex 类型,则调用 ctanhl 。若 z 拥有 double complex 类型,则调用 ctanh 。若 z 拥有 float complex 类型,则调用 ctanhf 。若 z 为实数或整数,则宏调用对应的实函数( tanhftanhtanhl )。若 z 为虚数,则宏调用函数 tan 的对应实数版本,实现公式 tanh(iy) = i tan(y) ,而返回类型为虚数。

参数

z - 复参数

返回值

若不出现错误,则返回 z 的复双曲正切。

错误处理及特殊值

报告的错误与 math_errhandling 一致。

若实现支持 IEEE 浮点算术,则

  • ctanh(conj(z)) == conj(ctanh(z))
  • ctanh(-z) == -ctanh(z)
  • z+0+0i ,则结果为 +0+0i
  • zx+∞i (对于任何[1]有限 x ),结果为 NaN+NaNi 并引发 FE_INVALID
  • zx+NaN (对于任何[2]有限 x ),则结果为 NaN+NaNi 并可能引发 FE_INVALID
  • z+∞+yi (对于任何有限正 y ),则结果为 1+0i
  • z+∞+∞i ,则结果为 1±0i (虚部符号未指定)
  • z+∞+NaNi ,则结果为 1±0i (虚部符号未指定)
  • zNaN+0i ,则结果为 NaN+0i
  • zNaN+yi (对于任何非零 y ),则结果为 NaN+NaNi 并可能引发 FE_INVALID
  • zNaN+NaNi ,则结果为 NaN+NaNi
  1. DR471 ,这只对非零 x 成立。若 z0+∞i ,则结果应为 0+NaNi
  2. DR471 ,这只对非零 x 成立。若 z0+NaNi ,则结果应为 0+NaNi

注意

双曲正切的数学定义是 tanh z =
ez
-e-z
ez
+e-z

双曲正切是复平面上的解析函数且无分支切割。它对于虚部是周期的,周期为 πi ,而且沿虚轴有一阶极点,位于坐标 (0, π(1/2 + n)) 。然而无常用浮点表示能准确表示 π/2 ,故没有参数值能导致极点错误。

示例

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
    double complex z = ctanh(1);  // 表现类似沿实轴的 tanh
    printf("tanh(1+0i) = %f%+fi (tanh(1)=%f)\n", creal(z), cimag(z), tanh(1));
 
    double complex z2 = ctanh(I); // 表现类似沿虚轴的正切
    printf("tanh(0+1i) = %f%+fi ( tan(1)=%f)\n", creal(z2), cimag(z2), tan(1));
}

输出:

tanh(1+0i) = 0.761594+0.000000i (tanh(1)=0.761594)
tanh(0+1i) = 0.000000+1.557408i ( tan(1)=1.557408)

引用

  • C11 标准(ISO/IEC 9899:2011):
  • 7.3.6.6 The ctanh functions (p: 194)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • G.6.2.6 The ctanh functions (p: 542)
  • G.7 Type-generic math <tgmath.h> (p: 545)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.3.6.6 The ctanh functions (p: 176)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • G.6.2.6 The ctanh functions (p: 477)
  • G.7 Type-generic math <tgmath.h> (p: 480)

参阅

(C99)(C99)(C99)
计算复数双曲正弦
(函数)
(C99)(C99)(C99)
计算复双曲余弦
(函数)
(C99)(C99)(C99)
计算复数反双曲正切
(函数)
(C99)(C99)
计算双曲正切( tanh(x)
(函数)