py/objcomplex: Correctly handle case of 0j to power of something.

0j to the power of negative now raises ZeroDivisionError, and 0j to the
power of positive returns 0.
diff --git a/py/objcomplex.c b/py/objcomplex.c
index 96be252..4c05886 100644
--- a/py/objcomplex.c
+++ b/py/objcomplex.c
@@ -222,8 +222,8 @@
             //        = exp(x3)*(cos(y3) + i*sin(y3))
             mp_float_t abs1 = MICROPY_FLOAT_C_FUN(sqrt)(lhs_real*lhs_real + lhs_imag*lhs_imag);
             if (abs1 == 0) {
-                if (rhs_imag == 0) {
-                    lhs_real = 1;
+                if (rhs_imag == 0 && rhs_real >= 0) {
+                    lhs_real = 1 ? rhs_real == 0 : 0;
                     rhs_real = 0;
                 } else {
                     mp_raise_msg(&mp_type_ZeroDivisionError, "0.0 to a complex power");