From 6e0b6d02dbe238e6e3d675b51e44b2ac798ddd20 Mon Sep 17 00:00:00 2001 From: David Steinberg Date: Fri, 2 Jan 2015 12:39:22 +0000 Subject: py: Fix float to int conversion for large exponents. --- py/objint_mpz.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'py/objint_mpz.c') diff --git a/py/objint_mpz.c b/py/objint_mpz.c index 554ec9657..23e300023 100644 --- a/py/objint_mpz.c +++ b/py/objint_mpz.c @@ -298,9 +298,9 @@ mp_obj_t mp_obj_new_int_from_uint(mp_uint_t value) { #if MICROPY_PY_BUILTINS_FLOAT mp_obj_t mp_obj_new_int_from_float(mp_float_t val) { - // TODO: This doesn't handle numbers with large exponent - long long i = MICROPY_FLOAT_C_FUN(trunc)(val); - return mp_obj_new_int_from_ll(i); + mp_obj_int_t *o = mp_obj_int_new_mpz(); + mpz_set_from_float(&o->mpz, val); + return o; } #endif -- cgit v1.2.3