cexpf, cexp, cexpl
From cppreference.com
| ヘッダー <complex.h> で定義 |
||
| (1) | (C99以降) | |
| (2) | (C99以降) | |
| (3) | (C99以降) | |
| ヘッダー <tgmath.h> で定義 |
||
| #define exp( z ) |
(4) | (C99以降) |
1-3)
z の複素数としてのネイピア数 e の指数を計算します。4) 型汎用マクロ:
z の型が long double complex の場合、cexpl が呼び出されます。z の型が double complex の場合、cexp が呼び出されます。z の型が float complex の場合、cexpf が呼び出されます。z が実数または整数である場合、マクロは対応する実数関数(expf, exp, expl)を呼び出します。z が虚数である場合、対応する複素数引数バージョンが呼び出されます。目次 |
[edit] パラメータ
| z | - | 複素数引数 |
[edit] 戻り値
エラーが発生しなかった場合、e の z 乗、ez
が返されます。
[edit] エラー処理と特殊な値
math_errhandling と一貫してエラーが報告されます。
実装がIEEE浮動小数点演算をサポートしている場合、
- cexp(conj(z)) == conj(cexp(z))
zが±0+0iの場合、結果は1+0iです。zがx+∞i(有限の x)の場合、結果はNaN+NaNiとなり、FE_INVALID が発生します。zがx+NaNi(有限の x)の場合、結果はNaN+NaNiとなり、FE_INVALID が発生する場合があります。zが+∞+0iの場合、結果は+∞+0iとなります。zが-∞+yi(有限の y)の場合、結果は+0cis(y)となります。zが+∞+yi(有限の非ゼロ y)の場合、結果は+∞cis(y)となります。zが-∞+∞iの場合、結果は±0±0i(符号は不定)となります。zが+∞+∞iの場合、結果は±∞+NaNiとなり、FE_INVALID が発生します(実数部の符号は不定)。zが-∞+NaNiの場合、結果は±0±0i(符号は不定)となります。zが+∞+NaNiの場合、結果は±∞+NaNiとなります(実数部の符号は不定)。zがNaN+0iの場合、結果はNaN+0iとなります。zがNaN+yi(非ゼロ y)の場合、結果はNaN+NaNiとなり、FE_INVALID が発生する場合があります。zがNaN+NaNiの場合、結果はNaN+NaNiとなります。
ここで、cis(y) は cos(y) + i sin(y) です。
[edit] 注記
複素指数関数 ez
は、z = x+iy に対して ex
cis(y)、すなわち ex
(cos(y) + i sin(y)) と等しくなります。
指数関数は複素平面における *整関数* であり、分岐はありません。
[edit] 例
このコードを実行
出力
exp(i*pi) = -1.0+0.0i
[edit] 参考文献
- C11標準 (ISO/IEC 9899:2011)
- 7.3.7.1 The cexp functions (p: 194)
- 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
- G.6.3.1 The cexp functions (p: 543)
- G.7 Type-generic math <tgmath.h> (p: 545)
- C99標準 (ISO/IEC 9899:1999)
- 7.3.7.1 The cexp functions (p: 176)
- 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
- G.6.3.1 The cexp functions (p: 478)
- G.7 Type-generic math <tgmath.h> (p: 480)
[edit] 関連項目
| (C99)(C99)(C99) |
複素自然対数関数を計算する (関数) |
| (C99)(C99) |
指定されたべき乗のeを計算する (ex) (関数) |
| C++ ドキュメント for exp
| |