aboutsummaryrefslogtreecommitdiff
path: root/py/objfloat.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2018-02-08 14:35:43 +1100
committerDamien George <damien.p.george@gmail.com>2018-02-08 14:35:43 +1100
commitbbb08431f3c45d94c1e6aa0762b8f13ccce1fe8e (patch)
treefb37bb9e2bb30f6f45e05150fd45b44c5daed2bd /py/objfloat.c
parentb75cb8392bdf5f8c12072eac3adbdaad53d1e8d2 (diff)
py/objfloat: Fix case of raising 0 to -infinity.
It was raising an exception but it should return infinity.
Diffstat (limited to 'py/objfloat.c')
-rw-r--r--py/objfloat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/py/objfloat.c b/py/objfloat.c
index 75212a4d2..e4d5a6570 100644
--- a/py/objfloat.c
+++ b/py/objfloat.c
@@ -293,7 +293,7 @@ mp_obj_t mp_obj_float_binary_op(mp_binary_op_t op, mp_float_t lhs_val, mp_obj_t
break;
case MP_BINARY_OP_POWER:
case MP_BINARY_OP_INPLACE_POWER:
- if (lhs_val == 0 && rhs_val < 0) {
+ if (lhs_val == 0 && rhs_val < 0 && !isinf(rhs_val)) {
goto zero_division_error;
}
if (lhs_val < 0 && rhs_val != MICROPY_FLOAT_C_FUN(floor)(rhs_val)) {