CPLXOPS(3C++)

名前
cplxops - C++ 複素数数学ライブラリの算術演算子関数

形式

#include <complex.h>

class complex {
public:
	friend complex operator- (const complex);

	friend complex operator+ (const complex, const complex);
	friend complex operator+ (double, const complex);
	friend complex operator+ (const complex, double);
	friend complex operator- (const complex, const complex);
	friend complex operator- (double, const complex);
	friend complex operator- (const complex, double);
	friend complex operator* (const complex, const complex);
	friend complex operator* (const complex, double);
	friend complex operator* (double, const complex);
	friend complex operator/ (const complex, const complex);
	friend complex operator/ (const complex, double);
	friend complex operator/ (double, const complex);

	friend int     operator== (const complex, const complex);
	friend int     operator!= (const complex, const complex);

	void operator+= (const complex);
	void operator+= (double);
	void operator-= (const complex);
	void operator-= (double);
	void operator*= (const complex);
	void operator*= (double);
	void operator/= (const complex);
	void operator/= (double);

	... // 以下省略
};

機能説明

これらの関数は通常の算術演算子と同じ働きを持つもので、 複素数に対して使用するために多重定義されています。

  単項マイナス演算子

complex z = - x
    複素数 x の符号を反転した値を返します。

  2 進算術演算子

complex z = x + y
    x と y の和を返します。 ここで、 x および y の一方または両方は複素数です。 ライブラリには、この関数の 引数 (浮動小数点数と複素数) の各組み合わせに対し最適化されたバージョンが 用意されています。

complex z = x - y
    x と y の差を返します。 ここで、 x および y の一方または両方は複素数です。 ライブラリには、この関数の、 引数 (浮動小数点数と複素数) の各組み合わせに対し最適化されたバージョンが 用意されています。

complex z = x * y
    x と y の積を返します。 ここで、 x および y の一方または両方は複素数です。 ライブラリには、この関数の、 引数 (浮動小数点数と複素数) の各組み合わせに対し最適化されたバージョンが 用意されています。

complex z = x / y
    x と y の商を返します。 ここで、 x および y の一方または両方は複素数です。 ライブラリには、この関数の、 引数 (浮動小数点数と複素数) の各組み合わせに対し最適化されたバージョンが 用意されています。

  比較演算子

複素数は順序づけられていません。 したがって、値が等しいかどうかテストだけ行います。

x == y
    x と y (ともに複素数) が等しい場合は 1、 それ以外の場合は 0 を返します。

x != y
    x と y (ともに複素数) が等しい場合は 0、 それ以外の場合は 1 を返します。

  代入演算子

コンパイラによって生成されるデフォルトの代入演算子 complex& operator=(const complex&) はこの型の演算に適しているため、このクラスでは再定義されません。 複合代入演算子は値を返しません。 したがって、式の一部として使用できないので注意してください。 たとえば、次の式は、 x が整数型または浮動小数点型であれば有効ですが、 x が複素数のときはコンパイルされません。
z = ( x += y );

x += y
    複素数 x を y の値だけインクリメントします。 ライブラリには、この関数の右辺に浮動小数点数と複素数を指定する場合の それぞれに適したバージョンが用意されています。

x -= y
    複素数 x を y の値だけデクリメントします。 ライブラリには、この関数の右辺に浮動小数点数と複素数を指定する場合の それぞれに適したバージョンが用意されています。

x *= y
    複素数 x に、それ自身に y の値を乗じた値を代入します。 ライブラリには、この関数の右辺に浮動小数点数と複素数を指定する場合の それぞれに適したバージョンが用意されています。

x /= y
    複素数 x に、それ自身を y の値で除した値を代入します。 ライブラリには、この関数の右辺に浮動小数点数と複素数を指定する場合の それぞれに適したバージョンが用意されています。

関連項目

cplx.intro(3C++), cartpol(3C++), cplxerr(3C++), cplxexp(3C++), cplxtrig(3C++)

『 C++ ライブラリ・リファレンス 』の第 2 章「複素数ライブラリ」