命名空间
变体
操作

csinf, csin, csinl

来自 cppreference.cn
< c‎ | numeric‎ | complex
定义于头文件 <complex.h>
float complex       csinf( float complex z );
(1) (since C99)
double complex      csin( double complex z );
(2) (since C99)
long double complex csinl( long double complex z );
(3) (since C99)
定义于头文件 <tgmath.h>
#define sin( z )
(4) (since 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 函数 (页码: 138-139)
  • 7.25 类型泛型数学 <tgmath.h> (页码: 272-273)
  • G.7 类型泛型数学 <tgmath.h> (页码: 397)
  • C11 标准 (ISO/IEC 9899:2011)
  • 7.3.5.5 csin 函数 (页码: 191-192)
  • 7.25 类型泛型数学 <tgmath.h> (页码: 373-375)
  • G.7 类型泛型数学 <tgmath.h> (页码: 545)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.3.5.5 csin 函数 (页码: 173)
  • 7.22 类型泛型数学 <tgmath.h> (页码: 335-337)
  • G.7 类型泛型数学 <tgmath.h> (页码: 480)

[编辑] 参见

(C99)(C99)(C99)
计算复余弦
(函数) [编辑]
(C99)(C99)(C99)
计算复正切
(函数) [编辑]
(C99)(C99)(C99)
计算复反正弦
(函数) [编辑]
(C99)(C99)
计算正弦 (sin(x))
(函数) [编辑]