Пример #1
0
Complex Complex::operator/( const Complex c1 ) {
	double a , b ;
	if ( fabs( c1.getRealPart() ) >= fabs( c1.getImaginaryPart() ) ) {
		a = c1.getImaginaryPart() / c1.getRealPart() ;
		b = 1.0l / ( c1.getRealPart() + a * c1.getImaginaryPart() ) ;
		return Complex( ( R + a * I ) * b , ( I - a * R ) * b ) ;
	} else {
		a = c1.getRealPart() / c1.getImaginaryPart() ;
		b = 1.0l / ( c1.getRealPart() * a + c1.getImaginaryPart() ) ;
		return Complex( ( R * a + I ) * b , ( I * a - R ) * b ) ;
	}
}
Пример #2
0
Complex Complex::operator*( const Complex c1 ) {
	return Complex( R*c1.getRealPart() - I*c1.getImaginaryPart() , R*c1.getImaginaryPart() + I*c1.getRealPart() ) ;
}
Пример #3
0
double Complex::pow( Complex base , double exp ) {
	return ( pow( base.getRealPart() , exp ) - pow( base.getImaginaryPart() , exp ) );
}
Пример #4
0
Complex Complex::operator-( const Complex c1 ) {
	return Complex( R - c1.getRealPart() , I - c1.getImaginaryPart() ) ;
}
Пример #5
0
bool Complex::Compare( const Complex & c1 ) {
    if ( R == c1.getRealPart() || I == c1.getImaginaryPart() )
        return true ;
    else
        return false ;
}
Пример #6
0
bool Complex::operator!=( const Complex & c1 ) {
    if ( R != c1.getRealPart() || I != c1.getImaginaryPart() )
        return true ;
    else
        return false ;
}
Пример #7
0
//subtraction function
Complex Complex::subtract(Complex& c){
    //follows imaginary number equation

    return Complex(getRealPart()-c.getRealPart(),getImaginaryPart()-c.getImaginaryPart());

}
Пример #8
0
//sets original to specified
void Complex::operator=(Complex c){
    this->a=c.getRealPart();
    this->b=c.getImaginaryPart();

}
Пример #9
0
//adding function
Complex Complex::add(Complex& c){
    //follows imaginary number equation
    return Complex(getRealPart()+c.getRealPart(),getImaginaryPart()+c.getImaginaryPart());
}
Пример #10
0
//division function
Complex Complex::divide(Complex& c){
    return Complex((getRealPart()*c.getRealPart()+getImaginaryPart()*c.getImaginaryPart())/(c.getRealPart()*c.getRealPart()+c.getImaginaryPart()*c.getImaginaryPart() ),( getImaginaryPart()*c.getRealPart()-getRealPart()*c.getImaginaryPart())/(c.getRealPart()*c.getRealPart()+c.getImaginaryPart()*c.getImaginaryPart() ));
}
Пример #11
0
//multiplication function
Complex Complex::multiply(Complex& c){
    return Complex((getRealPart()*c.getRealPart()-getImaginaryPart()*c.getImaginaryPart()),( getImaginaryPart()*c.getRealPart()+getRealPart()*c.getImaginaryPart()));

}