Namespaces
Variants

ccosf, ccos, ccosl

From cppreference.net
定義先ヘッダ <complex.h>
float complex ccosf ( float complex z ) ;
(1) (C99以降)
double complex ccos ( double complex z ) ;
(2) (C99以降)
long double complex ccosl ( long double complex z ) ;
(3) (C99以降)
定義先ヘッダ <tgmath.h>
#define cos( z )
(4) (C99以降)
1-3) 複素数 z の余弦を計算します。
4) 型総称マクロ: z の型が long double complex の場合、 ccosl が呼び出される。 z の型が double complex の場合、 ccos が呼び出される。 z の型が float complex の場合、 ccosf が呼び出される。 z が実数または整数の場合、マクロは対応する実数関数( cosf cos cosl )を呼び出す。 z が虚数の場合、マクロは関数 cosh の対応する実数版を呼び出し、公式 cos(iy) = cosh(y) を実装し、戻り値の型は実数となる。

目次

パラメータ

z - 複素引数

戻り値

エラーが発生しない場合、 z の複素余弦が返されます。

エラーおよび特殊ケースは、この操作が ccosh ( I * z ) によって実装されているかのように処理されます。

注記

余弦関数は複素平面上の整関数であり、分岐切断を持ちません。

Mathematical definition of the cosine is cos z =
e iz
+e -iz
2

#include <stdio.h>
#include <math.h>
#include <complex.h>
int main(void)
{
    double complex z = ccos(1);  // 実数軸に沿って実数余弦関数のように振る舞う
    printf("cos(1+0i) = %f%+fi ( cos(1)=%f)\n", creal(z), cimag(z), cos(1));
    double complex z2 = ccos(I); // 虚数軸に沿って実数双曲線余弦関数のように振る舞う
    printf("cos(0+1i) = %f%+fi (cosh(1)=%f)\n", creal(z2), cimag(z2), cosh(1));
}

出力:

cos(1+0i) = 0.540302-0.000000i ( cos(1)=0.540302)
cos(0+1i) = 1.543081-0.000000i (cosh(1)=1.543081)

参考文献

  • C11標準 (ISO/IEC 9899:2011):
  • 7.3.5.4 The ccos functions (p: 191)
  • 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.4 The ccos 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)
余弦を計算する ( cos(x) )
(関数)