diff options
author | Damien George <damien.p.george@gmail.com> | 2018-02-08 14:35:43 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-02-08 14:35:43 +1100 |
commit | bbb08431f3c45d94c1e6aa0762b8f13ccce1fe8e (patch) | |
tree | fb37bb9e2bb30f6f45e05150fd45b44c5daed2bd /py/objfloat.c | |
parent | b75cb8392bdf5f8c12072eac3adbdaad53d1e8d2 (diff) | |
download | micropython-bbb08431f3c45d94c1e6aa0762b8f13ccce1fe8e.tar.gz micropython-bbb08431f3c45d94c1e6aa0762b8f13ccce1fe8e.zip |
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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/py/objfloat.c b/py/objfloat.c index 75212a4d22..e4d5a65701 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)) { |