summaryrefslogtreecommitdiff
path: root/py/objfloat.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-04-19 18:46:53 +1000
committerDamien George <damien.p.george@gmail.com>2017-04-21 16:21:56 +1000
commit7a72c0db5a6c2b1f0978516134a95bb6867706ef (patch)
tree3aea307d9b6233e48380dca9b6d11ff1a5308e39 /py/objfloat.c
parent58467709972724ac94f6488fefe6d066bfa1589e (diff)
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.
Diffstat (limited to 'py/objfloat.c')
-rw-r--r--py/objfloat.c4
1 files changed, 4 insertions, 0 deletions
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;