csinf、csin、csinl
来自 cppreference.cn
                    
                                        
                    
                    
                                                            
                    | 定义在头文件  <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 csin 函数 (p: 138-139)
 
- 7.25 类型通用数学 <tgmath.h> (p: 272-273)
 
- G.7 类型泛型数学 <tgmath.h> (p: 397)
 
- C11 标准 (ISO/IEC 9899:2011)
- 7.3.5.5 csin 函数 (p: 191-192)
 
- 7.25 类型通用数学 <tgmath.h> (p: 373-375)
 
- G.7 类型通用数学 <tgmath.h> (p: 545)
 
- C99 标准 (ISO/IEC 9899:1999)
- 7.3.5.5 csin 函数 (p: 173)
 
- 7.22 类型通用数学 <tgmath.h> (p: 335-337)
 
- G.7 类型通用数学 <tgmath.h> (p: 480)
 
[编辑] 另请参阅
| (C99)(C99)(C99) | 计算复余弦 (函数) | 
| (C99)(C99)(C99) | 计算复正切 (函数) | 
| (C99)(C99)(C99) | 计算复反正弦 (函数) | 
| (C99)(C99) | 计算正弦 (sin(x)) (函数) | 
| C++ 文档 for sin | |


