Skip to content
Snippets Groups Projects
Commit 4b8ec525 authored by Damien George's avatar Damien George
Browse files

py/objfloat: Raise ZeroDivisionError for 0 to negative power.

parent 05c70fdf
No related branches found
No related tags found
No related merge requests found
...@@ -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 ...@@ -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; break;
case MP_BINARY_OP_POWER: 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: { case MP_BINARY_OP_DIVMOD: {
if (rhs_val == 0) { if (rhs_val == 0) {
goto zero_division_error; goto zero_division_error;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment