Пример #1
0
Complex Complex::operator / (const Complex &c)           
{
	double r = c.re() * c.re() + c.im() * c.im();
	if (r==0)
		throw std::runtime_error("Деление на нуль");
	else
		return Complex(((re_ * c.re() + im_ * c.im()) / r), ((im_ * c.re() - re_ * c.im()) / r));
}
Пример #2
0
Complex<T> Complex<T>::operator/ (Complex const& z) const {
   T temp1, temp2;
   if (z.re() >= z.im()) {
      temp1 = z.im() / z.re();
      temp2 = z.re() + z.im() * temp1;
      return Complex( (re() + im() * temp1) / temp2, (im() - re() * temp1) / temp2 );
   } else {
      temp1 = z.re() / z.im();
      temp2 = z.re() * temp1 + z.im();
      return Complex( (re() * temp1 + im()) / temp2, (im() * temp1 - re()) / temp2 );
   }
}
Пример #3
0
Complex Complex::operator+(const Complex &c) const{
	return Complex(real + c.re(), imag + c.im());
}
Пример #4
0
Complex Complex::operator/(const Complex &c) const{//(ac+bd)/t + i(bc - ad)/t
	double t = c.re()*c.re() + c.im()*c.im();
	return Complex( (real*c.re() + imag*c.im()) / t, (imag*c.re() - real*c.im()) / t );
}
Пример #5
0
Complex Complex::operator*(const Complex &c) const{
	return Complex(real*c.re() - imag*c.im(), real*c.im() + imag*c.re());
}
Пример #6
0
Complex Complex::operator-(const Complex &c) const{
	return Complex(real - c.re(), imag - c.im());
}
Пример #7
0
bool operator ==(const Complex& left, const Complex& right){
	return left.re() == right.re() &&
		left.im() == right.im();
}
Пример #8
0
Complex Complex::operator * (const Complex &c)         
{
	double real=re_ * c.re() - im_ * c.im();
	double image=re_ * c.im() + im_ * c.re();
	return Complex(real, image); 
}
Пример #9
0
Complex Complex::operator -(const Complex &c)       
{
	return Complex(re_ - c.re(), im_ - c.im());
}
Пример #10
0
Complex Complex::operator +(const Complex &c)
{
	return Complex (re_ + c.re(), im_ + c.im());
}
Пример #11
0
Complex::Complex (const Complex &c):
re_(c.re()), 
im_(c.im())
{}
Пример #12
0
 // Comparisons
 bool operator== (Complex const& z) const { return re()==z.re() and im()==z.im(); }
Пример #13
0
 Complex operator- (Complex const& z) const { return Complex(re()-z.re(), im()-z.im()); }
Пример #14
0
Complex<T> Complex<T>::operator* (Complex const& z) const {
   return Complex<T>(re()*z.re() - im()*z.im(), re()*z.im() + im()*z.re());
}