package utils;
public class Complex {
private double real;
private double imaginary;
public Complex(double _x, double _y) {
real = _x;
imaginary = _y;
}
public Complex() {
real = 0;
imaginary = 0;
}
public void set(double _x, double _y) {
real = _x;
imaginary = _y;
}
public void setReal(double _x) {
real = _x;
}
public void setImaginary(double _i) {
imaginary = _i;
}
public void addReal(double _x) {
real += _x;
}
public void addImaginary(double _i) {
imaginary += _i;
}
public double getReal() {
return real;
}
public double getImaginary() {
return imaginary;
}
public Complex plus(Complex b) {
return new Complex(
b.real + real,
b.imaginary + imaginary);
}
public Complex minus(Complex b) {
return new Complex(
real - b.real,
imaginary - b.imaginary);
}
public Complex times(Complex b) {
return new Complex(
real * b.real - imaginary * b.imaginary,
imaginary * b.real + real * b.imaginary);
}
public Complex abs() {
return new Complex(
Math.abs(real),
Math.abs(imaginary)
);
}
public Complex inverse() {
double m = square();
return new Complex(
real / m,
-imaginary / m
);
}
public double square() {
return real * real + imaginary * imaginary;
}
public double magnitude() {
return Math.sqrt(square());
}
public Complex copy() {
return new Complex(real, imaginary);
}
public void print() {
System.out.println("Complex: real = " + real + " Imaginary = " + imaginary);
}
public void print(String msg) {
System.out.println(msg + "(" + real + "," + imaginary + ")");
}
}