divAndAss method
Implementation
MathComplex divAndAss( dynamic r ){
if( r is MathComplex ){
if( r._im == 0.0 ){
_re /= r._re;
_im /= r._re;
} else if( ClipMath.abs( r._re ) < ClipMath.abs( r._im ) ){
double w = r._re / r._im;
double d = r._re * w + r._im;
double t = (_re * w + _im) / d;
_im = (_im * w - _re) / d;
_re = t;
} else {
double w = r._im / r._re;
double d = r._re + r._im * w;
double t = (_re + _im * w) / d;
_im = (_im - _re * w) / d;
_re = t;
}
} else {
double rr = ClipMath.toDouble(r);
_re /= rr;
_im /= rr;
}
return this;
}