summaryrefslogtreecommitdiff
path: root/py/objfloat.c
diff options
context:
space:
mode:
authorGlenn Ruben Bakke <glennbakke@gmail.com>2017-02-07 22:27:32 +0100
committerGlenn Ruben Bakke <glennbakke@gmail.com>2017-02-07 22:27:32 +0100
commit122d0430db4d103dfb8bc9958b7df4d9803038c8 (patch)
tree856ac0d4950b0154cc6aae8cf022fd29b2402073 /py/objfloat.c
parent723943abde3e9de5e14ee40df5e0d5fe25352c97 (diff)
parent4cf7fd151e98a3d842eb5c9428545cb67ddd57ee (diff)
Merge branch 'nrf52' into nrf5_no_sdk
Diffstat (limited to 'py/objfloat.c')
-rw-r--r--py/objfloat.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/py/objfloat.c b/py/objfloat.c
index 73d07feac..9292490a9 100644
--- a/py/objfloat.c
+++ b/py/objfloat.c
@@ -228,7 +228,12 @@ mp_obj_t mp_obj_float_binary_op(mp_uint_t op, mp_float_t lhs_val, mp_obj_t rhs_i
}
break;
case MP_BINARY_OP_POWER:
- case MP_BINARY_OP_INPLACE_POWER: lhs_val = MICROPY_FLOAT_C_FUN(pow)(lhs_val, rhs_val); break;
+ case MP_BINARY_OP_INPLACE_POWER:
+ if (lhs_val == 0 && rhs_val < 0) {
+ goto zero_division_error;
+ }
+ lhs_val = MICROPY_FLOAT_C_FUN(pow)(lhs_val, rhs_val);
+ break;
case MP_BINARY_OP_DIVMOD: {
if (rhs_val == 0) {
goto zero_division_error;