CPLXEXP(3C++)

名前
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 の虚部の正弦および余弦によって異なります。
    上記のどの場合でも、 errno が ERANGE に 設定されます ( intro(2) 参照)。

log(x), log10(x)
    x が (0,0) の場合は (- HUGE_VAL , 0) を返し、 errno を EDOM に設定し ( intro(2) 参照)、 SING エラーを生成します ( cplxerr(3C++) 参照)。