diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-12-30 00:33:32 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-12-30 00:33:32 +0200 |
commit | f79cd6a2330bce1d7bf886a440d80441cdbf9209 (patch) | |
tree | de99c310685ce720b4fc0f21ebaf23128bc12f09 | |
parent | 12033df511a5a5f0237a764379aacfbceb6c45dd (diff) | |
download | micropython-f79cd6a2330bce1d7bf886a440d80441cdbf9209.tar.gz micropython-f79cd6a2330bce1d7bf886a440d80441cdbf9209.zip |
py: Implement mp_obj_new_int_from_float() for MICROPY_LONGINT_IMPL_NONE.
-rw-r--r-- | py/objint.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/py/objint.c b/py/objint.c index 8f626190ce..0aa281edd1 100644 --- a/py/objint.c +++ b/py/objint.c @@ -262,6 +262,14 @@ mp_obj_t mp_obj_new_int_from_uint(mp_uint_t value) { return mp_const_none; } +#if MICROPY_PY_BUILTINS_FLOAT +mp_obj_t mp_obj_new_int_from_float(mp_float_t val) { + // TODO raise an exception if the int won't fit + mp_int_t i = MICROPY_FLOAT_C_FUN(trunc)(val); + return mp_obj_new_int(i); +} +#endif + mp_obj_t mp_obj_new_int(mp_int_t value) { if (MP_SMALL_INT_FITS(value)) { return MP_OBJ_NEW_SMALL_INT(value); |