マニュアルページ cplxexp.3
名前
cplxexp - exp, log, log10, pow, sqrt - C++ 複素数数学ライ ブ
ラリ関数
形式
#include <complex.h>
class complex {
public:
friend complex exp(const complex);
friend complex log(const complex);
friend complex log10(const complex);
friend complex pow(double base, const complex exp);
friend complex pow(const complex base, int exp);
friend complex pow(const complex base, double exp);
friend complex pow(const complex base, const complex exp);
friend complex sqrt(const complex);
... // 以下省略
};
機能説明
これらの関数は浮動小数点数学ライブラリ関数に対応するもので、
複素数に対して使用するために多重定義されています。
complex z = exp(x)
e を x 乗した値を返します。ここで、 x は複素数、 e は自
然対数の底です。
complex z = log(x)
x の自然対数 (底を e とするもの) を返します。ここで、 x
は複素数です。
complex z = log10(x)
x の常用対数 (底を 10 とするもの) を返します。ここ で、
x は複素数です。
complex z = pow(x, y)
x を y 乗した値を返します。ここで、 x または y (また は
両 方) は複素数です。ライブラリには、引数 (整数、浮動小
数点数、複素数) の各組み合わせに対し最適化さ れ た バー
ジョンが用意されています。
complex z = sqrt(x)
x の平方根を返します。ここで、 x は複素数です。結果の実
部は、負でない値となります。
関連項目
cplx.intro(3C++), cartpol(3C++), cplxerr(3C++),
cplxops(3C++), cplxtrig(3C++), intro(2)
『C++ ライブラリ・リファレンス』の第 2 章「複素数ライブラ
リ」
診断
exp(x)
x の実部が小さすぎたり、その虚部が大きすぎたりするこ と
に よっ てオーバーフローが発生する場合、 exp() は (0,0)
を返します。実部が大きすぎてオーバーフローが発生する 場
合、 戻 り値は次に示すように x の虚部の正弦および余弦に
よって異なります。
x.imag() x.imag() 戻り値
_
sin>=0 cos>=0 (HUGE_VAL, HUGE_VAL)
sin< 0 cos>=0 (HUGE_VAL, -HUGE_VAL)
sin>=0 cos< 0 (-HUGE_VAL, HUGE_VAL)
sin< 0 cos< 0 (-HUGE_VAL, -HUGE_VAL)
上記のどの場合でも、 errno が ERANGE に設定されま す (
intro(2) 参照)。
log(x), log10(x)
x が (0,0) の場合は (- HUGE_VAL , 0) を返し、 errno を
EDOM に設定し ( intro(2) 参照)、 SING エラーを生成しま
す ( cplxerr(3C++) 参照)。