complex.h
C言語 標準ライブラリ
アルファベット順索引
ヘッダ別索引
ホームページへ
C言語講座のページ
C
89
C
99
C
11
複素数計算
■ 概要
本ヘッダ
は、複素数計算をサポートするマクロと関数を宣言する。関数には、代表関数と、それ以外の関数がある。
代表関数は、1個以上のdouble complexの仮引数を受け取り、doubleあるいはdouble complexを返却する。代表関数以外の関数は、代表関数の名前の最後にfを付けた名前の関数(float complexの仮引数を受け取り、floatあるいはfloat complexを返却する)と、代表関数の名前の最後にlを付けた名前の関数(long double complexの仮引数を受け取り、long doubleあるいはlong doubleを返却する)とで構成される。
□ マクロ
complex
_Complex_I
imaginary
_Imaginary_I
I
□ 複素数計算の規約
値は、度ではなく、ラジアンで解釈する。処理系は、errnoを設定してもよいが、必ずしも設定する必要はない。
□ 分岐切断線
本ヘッダで宣言される関数の中には、それをまたぐと関数が不連続となる分岐切断線をもつ。符号付き0をもつ処理系(すべてのIEC 60559の実装を含んでいる)では、切断線を境とする片側と別の片側とを0の符号で区別する。これによって、切断線を境とするいずれの側から切断線に接近しても、その関数は、連続になる(内部表現形式上の制限は別として)。たとえば、平方根関数は、負の実軸に沿って分岐切断線をもっており、切断線の上側、すなわち虚部が+0をもつ側は、正の虚軸に写像し、切断線の下側、すなわち虚部が0をもつ側は、負の虚軸に写像する。
符号付き0をサポートしない処理系は、分岐切断線を境とする両側を区別することができない。符号付き0をサポートしない処理系は、切断線の有限な終点のまわりを反時計方向から切断線に近づくと関数が連続となるように切断線を写像しなければならない。(分岐切断線は、ちょうど1個の有限な終点しかもたない)。たとえば、平方根関数は、負の実軸に沿っている切断線の有限な終点のまわりを反時計方向に進むと、切断線に上側から近づくので、切断線は、正の虚軸に写像する。
□ CX_LIMITED_RANGEプラグマ
CX_LIMITED_RANGE
□ 複素数三角関数
cacos
casin
catan
ccos
csin
ctan
□ 複素数双曲線関数
cacosh
casinh
catanh
ccosh
csinh
ctanh
□ 複素数指数関数および素数対数関数
cexp
clog
□ 複素数べき乗関数および複素数絶対値関数
cabs
cpow
csqrt
□ 複素数操作関数
carg
cimag
conj
cproj
creal