pow method

MathComplex pow(
  1. dynamic y
)

Implementation

MathComplex pow( dynamic y ){
	if( y is MathComplex ){
		if( y._im == 0.0 ){
			if( _im == 0.0 ){
				return floatToComplex( ClipMath.pow( _re, y._re ) );
			}
			// exp( log( this ) * y._re )
			return log().mul( y._re ).exp();
		}
		if( _im == 0.0 ){
			// exp( y * _LOG( _re ) )
			return y.mul( ClipMath.log( _re ) ).exp();
		}
		// exp( log( this ) * y )
		return log().mul( y ).exp();
	}
	if( _im == 0.0 ){
		return floatToComplex( ClipMath.pow( _re, ClipMath.toDouble(y) ) );
	}
	// exp( log( this ) * y )
	return log().mul( ClipMath.toDouble(y) ).exp();
}