diff options
author | pohmelie <multisosnooley@gmail.com> | 2015-12-07 15:35:48 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-12-07 18:56:25 +0200 |
commit | 354e688d8ebf78d34577db4b45388dede4954b8d (patch) | |
tree | 9d1a8e55f3f38e025f292f30c4a29fdb0524e8fd /py | |
parent | acc208418bb1fd1f37f64cdbddc6be7a8eaeb4b8 (diff) | |
download | micropython-354e688d8ebf78d34577db4b45388dede4954b8d.tar.gz micropython-354e688d8ebf78d34577db4b45388dede4954b8d.zip |
py: Add MICROPY_PY_BUILTINS_MIN_MAX, disable for minimal ports.
Diffstat (limited to 'py')
-rw-r--r-- | py/modbuiltins.c | 6 | ||||
-rw-r--r-- | py/mpconfig.h | 5 | ||||
-rw-r--r-- | py/qstrdefs.h | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/py/modbuiltins.c b/py/modbuiltins.c index 36a3d9b685..23e08c015c 100644 --- a/py/modbuiltins.c +++ b/py/modbuiltins.c @@ -250,6 +250,8 @@ STATIC mp_obj_t mp_builtin_iter(mp_obj_t o_in) { } MP_DEFINE_CONST_FUN_OBJ_1(mp_builtin_iter_obj, mp_builtin_iter); +#if MICROPY_PY_BUILTINS_MIN_MAX + STATIC mp_obj_t mp_builtin_min_max(mp_uint_t n_args, const mp_obj_t *args, mp_map_t *kwargs, mp_uint_t op) { mp_map_elem_t *key_elem = mp_map_lookup(kwargs, MP_OBJ_NEW_QSTR(MP_QSTR_key), MP_MAP_LOOKUP); mp_obj_t key_fn = key_elem == NULL ? MP_OBJ_NULL : key_elem->value; @@ -295,6 +297,8 @@ STATIC mp_obj_t mp_builtin_min(mp_uint_t n_args, const mp_obj_t *args, mp_map_t } MP_DEFINE_CONST_FUN_OBJ_KW(mp_builtin_min_obj, 1, mp_builtin_min); +#endif + STATIC mp_obj_t mp_builtin_next(mp_obj_t o) { mp_obj_t ret = mp_iternext_allow_raise(o); if (ret == MP_OBJ_STOP_ITERATION) { @@ -637,8 +641,10 @@ STATIC const mp_rom_map_elem_t mp_module_builtins_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_iter), MP_ROM_PTR(&mp_builtin_iter_obj) }, { MP_ROM_QSTR(MP_QSTR_len), MP_ROM_PTR(&mp_builtin_len_obj) }, { MP_ROM_QSTR(MP_QSTR_locals), MP_ROM_PTR(&mp_builtin_locals_obj) }, + #if MICROPY_PY_BUILTINS_MIN_MAX { MP_ROM_QSTR(MP_QSTR_max), MP_ROM_PTR(&mp_builtin_max_obj) }, { MP_ROM_QSTR(MP_QSTR_min), MP_ROM_PTR(&mp_builtin_min_obj) }, + #endif { MP_ROM_QSTR(MP_QSTR_next), MP_ROM_PTR(&mp_builtin_next_obj) }, { MP_ROM_QSTR(MP_QSTR_oct), MP_ROM_PTR(&mp_builtin_oct_obj) }, { MP_ROM_QSTR(MP_QSTR_ord), MP_ROM_PTR(&mp_builtin_ord_obj) }, diff --git a/py/mpconfig.h b/py/mpconfig.h index 4d81f25d3f..c05f33c453 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -610,6 +610,11 @@ typedef double mp_float_t; #define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (0) #endif +// Whether to support min/max functions +#ifndef MICROPY_PY_BUILTINS_MIN_MAX +#define MICROPY_PY_BUILTINS_MIN_MAX (1) +#endif + // Whether to set __file__ for imported modules #ifndef MICROPY_PY___FILE__ #define MICROPY_PY___FILE__ (1) diff --git a/py/qstrdefs.h b/py/qstrdefs.h index e6c0fdcf1a..7700937913 100644 --- a/py/qstrdefs.h +++ b/py/qstrdefs.h @@ -232,8 +232,10 @@ Q(len) Q(list) Q(locals) Q(map) +#if MICROPY_PY_BUILTINS_MIN_MAX Q(max) Q(min) +#endif Q(namedtuple) Q(next) Q(oct) |