From 7a72c0db5a6c2b1f0978516134a95bb6867706ef Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 19 Apr 2017 18:46:53 +1000 Subject: py: Reduce str/repr precision of float numbers when floats are 30-bit. With 30-bit floats there aren't enough bits to faithfully print 7 decimal digits, so reduce the precision to 6 digits. --- py/objfloat.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'py/objfloat.c') diff --git a/py/objfloat.c b/py/objfloat.c index 5cf995417..d0e616612 100644 --- a/py/objfloat.c +++ b/py/objfloat.c @@ -113,7 +113,11 @@ STATIC void float_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t mp_float_t o_val = mp_obj_float_get(o_in); #if MICROPY_FLOAT_IMPL == MICROPY_FLOAT_IMPL_FLOAT char buf[16]; + #if MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_C + const int precision = 6; + #else const int precision = 7; + #endif #else char buf[32]; const int precision = 16; -- cgit v1.2.3