public static DComplex power(double x_re, double x_im, double y_re, double y_im) { double h; /* #ifdef JAVA5 */ // h = Math.hypot(x_re, x_im); /* #else */ h = DComplex.hypot(x_re, x_im); /* #endif */ double logr = Math.log(h); double t = Math.atan2(x_im, x_re); double r = Math.exp(logr * y_re - y_im * t); t = y_im * logr + y_re * t; return Complex.polar(r, t); }
@Override public Complex toPolar() { return Complex.polar(modulus(), argument()); }