// Complex.java copied from complex.c which I got from // the book Numerical recipes in C. // Here I'm trying to create a class that does Complex // arithmetic. public class Complex extends Object{ // private double r; // private double i; double r; double i; Complex (double a, double b){ r=a; i=b; } public double Real(){ return r; } public double Imaginary(){ return i; } public double Magnitude(){ return Math.sqrt(r*r+i*i); } public double Arg(){ return Math.atan2(r,i); } public Complex Plus (Complex z){ return new Complex(r+z.r,i+z.i); } public Complex Minus (Complex z){ return new Complex(r-z.r,i-z.i); } public Complex Times (Complex z){ return new Complex(r*z.r-i*z.i,r*z.i+i*z.r); } public Complex DivideBy (Complex z){ double rz=z.Magnitude(); double d1=(r*z.r+i*z.i)/(rz*rz); double d2=(i*z.r-r*z.i)/(rz*rz); return new Complex(d1,d2); } }