#include "complex.h"
std::ostream& operator<< (std::ostream& cout, Complex c){
return cout << "[" << c.re << "," << c.im << "]";
}
std::istream& operator>> (std::istream& cin, Complex c){
char x = '[';
char y = ',';
char z = ']';
return cin >> x >> c.re >> y >> c.im >> z;
}
Complex operator+ (Complex& a, Complex& b){
double re;
double im;
re = a.re + b.re;
im = a.im + b.im;
Complex result;
result.re = re;
result.im = im;
return result;
}
Complex operator- (Complex& a, Complex& b){
double re;
double im;
re = a.re - b.re;
im = a.im - b.im;
Complex result;
result.re = re;
result.im = im;
return result;
}
Complex operator* (Complex& a, Complex& b){
double re;
double im;
re = a.re*b.re - a.im*b.im;
im = a.re*b.im + a.im*b.re;
Complex result;
result.re = re;
result.im = im;
return result;
}
Complex operator-(Complex a){
a.re = -a.re;
a.im = -a.im;
return a;
}
Complex& conjugation(Complex& a){
a.im = -a.im;
return a;
}
Complex operator/ (Complex& a, Complex& b){
Complex nu1;
Complex nu2;
nu2.re = b.re*b.re + b.im*b.im;
nu2.im = 0;
nu1.re = a.re*b.re + a.im*b.im;
nu1.im = a.im*b.re - a.re*b.im;
double devide1 = 1/(nu2.re);
Complex devide2;
devide2.re = devide1;
devide2.im = 0;
return nu1*devide2;
}
bool operator== (Complex& a, Complex& b){
if(a.re == b.re && a.im == b.im)
return true;
else
return false;
}
bool operator!= (Complex& a, Complex& b){
if(a.re == b.re && a.im == b.im)
return false;
else
return true;
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}