diff options
Diffstat (limited to 'py/objint_mpz.c')
-rw-r--r-- | py/objint_mpz.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/py/objint_mpz.c b/py/objint_mpz.c index bd82815bcf..75bb1c1100 100644 --- a/py/objint_mpz.c +++ b/py/objint_mpz.c @@ -57,6 +57,7 @@ mp_obj_t int_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) { } else if (MP_OBJ_IS_TYPE(lhs_in, &mp_type_int)) { zlhs = &((mp_obj_int_t*)lhs_in)->mpz; } else { + // unsupported type return MP_OBJ_NULL; } @@ -66,7 +67,14 @@ mp_obj_t int_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) { zrhs = &z_int; } else if (MP_OBJ_IS_TYPE(rhs_in, &mp_type_int)) { zrhs = &((mp_obj_int_t*)rhs_in)->mpz; +#if MICROPY_ENABLE_FLOAT + } else if (MP_OBJ_IS_TYPE(rhs_in, &mp_type_float)) { + return mp_obj_float_binary_op(op, mpz_as_float(zlhs), rhs_in); + } else if (MP_OBJ_IS_TYPE(rhs_in, &mp_type_complex)) { + return mp_obj_complex_binary_op(op, mpz_as_float(zlhs), 0, rhs_in); +#endif } else { + // unsupported type return MP_OBJ_NULL; } |