csinf, csin, csinl
来自 cppreference.com
在头文件 <complex.h> 中定义 |
||
(1) | (自 C99) | |
(2) | (自 C99) | |
(3) | (自 C99) | |
在头文件 <tgmath.h> 中定义 |
||
#define sin( z ) |
(4) | (自 C99) |
1-3) 计算
z
的复数正弦。4) 类型泛型宏:如果
z
的类型为 long double complex,则调用 csinl
。如果 z
的类型为 double complex,则调用 csin
,如果 z
的类型为 float complex,则调用 csinf
。如果 z
为实数或整数,则该宏调用相应的实数函数(sinf,sin,sinl)。如果 z
为虚数,则该宏调用该函数的相应实数版本 sinh,实现公式 sin(iy) = i ∙ sinh(y),并且该宏的返回类型为虚数。内容 |
[编辑] 参数
z | - | 复数参数 |
[编辑] 返回值
如果未发生错误,则返回 z
的复数正弦。
错误和特殊情况的处理方式与通过 -I * csinh(I*z) 实现的操作相同
[编辑] 备注
正弦是复平面上一个整函数,并且没有分支切割。
正弦的数学定义是 sin z =eiz -e-iz |
2i |
[编辑] 示例
运行此代码
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = csin(1); // behaves like real sine along the real line printf("sin(1+0i) = %f%+fi ( sin(1)=%f)\n", creal(z), cimag(z), sin(1)); double complex z2 = csin(I); // behaves like sinh along the imaginary line printf("sin(0+1i) = %f%+fi (sinh(1)=%f)\n", creal(z2), cimag(z2), sinh(1)); }
输出
sin(1+0i) = 0.841471+0.000000i ( sin(1)=0.841471) sin(0+1i) = 0.000000+1.175201i (sinh(1)=1.175201)
[编辑] 参考文献
- C17 标准 (ISO/IEC 9899:2018)
- 7.3.5.5 The csin functions (p: 138-139)
- 7.25 Type-generic math <tgmath.h> (p: 272-273)
- G.7 Type-generic math <tgmath.h> (p: 397)
- C11 标准 (ISO/IEC 9899:2011)
- 7.3.5.5 The csin functions (p: 191-192)
- 7.25 Type-generic math <tgmath.h> (p: 373-375)
- G.7 Type-generic math <tgmath.h> (p: 545)
- C99 标准 (ISO/IEC 9899:1999)
- 7.3.5.5 The csin functions (p: 173)
- 7.22 Type-generic math <tgmath.h> (p: 335-337)
- G.7 Type-generic math <tgmath.h> (p: 480)
[编辑] 另请参阅
(C99)(C99)(C99) |
计算复数余弦 (函数) |
(C99)(C99)(C99) |
计算复数正切 (函数) |
(C99)(C99)(C99) |
计算复数反正弦 (函数) |
(C99)(C99) |
计算正弦 (sin(x)) (函数) |
C++ 文档 针对 sin
|