# マニュアルページ 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++) 参照)。