@Override
    public IComplexNumber divi(IComplexNumber c, IComplexNumber result) {
        double d = c.realComponent().doubleValue() * c.realComponent().doubleValue()
                        + c.imaginaryComponent().doubleValue() * c.imaginaryComponent().doubleValue();
        double newR = (realComponent() * c.realComponent().doubleValue()
                        + imaginaryComponent() * c.imaginaryComponent().doubleValue()) / d;
        double newI = (imaginaryComponent() * c.realComponent().doubleValue()
                        - realComponent() * c.imaginaryComponent().doubleValue()) / d;
        result.set(newR, newI);
        return result;
    }
@ Override public IComplexNumber divi ( IComplexNumber c , IComplexNumber result ) { double d = c . realComponent ( ) . doubleValue ( ) * c . realComponent ( ) . doubleValue ( ) + c . imaginaryComponent ( ) . doubleValue ( ) * c . imaginaryComponent ( ) . doubleValue ( ) ; double newR = ( realComponent ( ) * c . realComponent ( ) . doubleValue ( ) + imaginaryComponent ( ) * c . imaginaryComponent ( ) . doubleValue ( ) ) / d ; double newI = ( imaginaryComponent ( ) * c . realComponent ( ) . doubleValue ( ) - realComponent ( ) * c . imaginaryComponent ( ) . doubleValue ( ) ) / d ; result . set ( newR , newI ) ; return result ; }
Divide two complex numbers, in-place

@param c
@param result