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