summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@adafruit.com>2019-05-21 13:55:38 -0700
committerGitHub <noreply@github.com>2019-05-21 13:55:38 -0700
commit70e0b5c0d038ae5b4235272e7be3f3d531dae027 (patch)
treec8b37577aa44005d7ab70cdb7439d2d1ea09a9a8
parentaae7cb3eb0ba547b1253b4bf55488465915a9ce4 (diff)
parent0199d9810ba78c29734abc3a94d005279d9d9ccb (diff)
Merge pull request #1896 from dhalbert/round-int-4.0.x
Enable MICROPY_PY_BUILTINS_ROUND_INT; make round() work better when flag is disabled
-rw-r--r--ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk2
-rw-r--r--py/circuitpy_mpconfig.h1
-rw-r--r--py/modbuiltins.c6
3 files changed, 5 insertions, 4 deletions
diff --git a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk
index 652d20137..bc33be315 100644
--- a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk
@@ -27,7 +27,7 @@ FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Thermistor
# Tweak inlining depending on language.
ifeq ($(TRANSLATION), zh_Latn_pinyin)
-CFLAGS_INLINE_LIMIT = 35
+CFLAGS_INLINE_LIMIT = 25
else
CFLAGS_INLINE_LIMIT = 55
endif
diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h
index f957886f4..0575bcfe0 100644
--- a/py/circuitpy_mpconfig.h
+++ b/py/circuitpy_mpconfig.h
@@ -89,6 +89,7 @@
#define MICROPY_PY_BUILTINS_MIN_MAX (1)
#define MICROPY_PY_BUILTINS_PROPERTY (1)
#define MICROPY_PY_BUILTINS_REVERSED (1)
+#define MICROPY_PY_BUILTINS_ROUND_INT (1)
#define MICROPY_PY_BUILTINS_SET (1)
#define MICROPY_PY_BUILTINS_SLICE (1)
#define MICROPY_PY_BUILTINS_SLICE_ATTRS (1)
diff --git a/py/modbuiltins.c b/py/modbuiltins.c
index 124dcd05a..e764f1987 100644
--- a/py/modbuiltins.c
+++ b/py/modbuiltins.c
@@ -455,13 +455,13 @@ STATIC mp_obj_t mp_builtin_round(size_t n_args, const mp_obj_t *args) {
return o_in;
}
- #if !MICROPY_PY_BUILTINS_ROUND_INT
- mp_raise_NotImplementedError(NULL);
- #else
mp_int_t num_dig = mp_obj_get_int(args[1]);
if (num_dig >= 0) {
return o_in;
}
+ #if !MICROPY_PY_BUILTINS_ROUND_INT
+ mp_raise_NotImplementedError(NULL);
+ #else
mp_obj_t mult = mp_binary_op(MP_BINARY_OP_POWER, MP_OBJ_NEW_SMALL_INT(10), MP_OBJ_NEW_SMALL_INT(-num_dig));
mp_obj_t half_mult = mp_binary_op(MP_BINARY_OP_FLOOR_DIVIDE, mult, MP_OBJ_NEW_SMALL_INT(2));