diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-05-01 23:42:18 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-05-01 23:42:18 +0300 |
commit | 28dfbc2ba2ef41a7810e4e39290031eb2207a0a9 (patch) | |
tree | dfe78c6aa53b8705cc6209fc1c358709327fe7cb /py | |
parent | 7917b731f66bde41341b3898c19616ab2d1d0bb1 (diff) | |
parent | 37067666ee24b018f260a011375f65aa69b49041 (diff) | |
download | micropython-28dfbc2ba2ef41a7810e4e39290031eb2207a0a9.tar.gz micropython-28dfbc2ba2ef41a7810e4e39290031eb2207a0a9.zip |
Merge pull request #544 from lurch/fix-minmax
Fix the builtin min() and max() functions (and add tests).
Diffstat (limited to 'py')
-rw-r--r-- | py/builtin.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/py/builtin.c b/py/builtin.c index 250a3558e8..b586792020 100644 --- a/py/builtin.c +++ b/py/builtin.c @@ -245,7 +245,7 @@ STATIC mp_obj_t mp_builtin_max(uint n_args, const mp_obj_t *args) { mp_obj_t max_obj = NULL; mp_obj_t item; while ((item = mp_iternext(iterable)) != MP_OBJ_STOP_ITERATION) { - if (max_obj == NULL || mp_binary_op(MP_BINARY_OP_LESS, max_obj, item)) { + if (max_obj == NULL || (mp_binary_op(MP_BINARY_OP_LESS, max_obj, item) == mp_const_true)) { max_obj = item; } } @@ -257,7 +257,7 @@ STATIC mp_obj_t mp_builtin_max(uint n_args, const mp_obj_t *args) { // given many args mp_obj_t max_obj = args[0]; for (int i = 1; i < n_args; i++) { - if (mp_binary_op(MP_BINARY_OP_LESS, max_obj, args[i])) { + if (mp_binary_op(MP_BINARY_OP_LESS, max_obj, args[i]) == mp_const_true) { max_obj = args[i]; } } @@ -274,7 +274,7 @@ STATIC mp_obj_t mp_builtin_min(uint n_args, const mp_obj_t *args) { mp_obj_t min_obj = NULL; mp_obj_t item; while ((item = mp_iternext(iterable)) != MP_OBJ_STOP_ITERATION) { - if (min_obj == NULL || mp_binary_op(MP_BINARY_OP_LESS, item, min_obj)) { + if (min_obj == NULL || (mp_binary_op(MP_BINARY_OP_LESS, item, min_obj) == mp_const_true)) { min_obj = item; } } @@ -286,7 +286,7 @@ STATIC mp_obj_t mp_builtin_min(uint n_args, const mp_obj_t *args) { // given many args mp_obj_t min_obj = args[0]; for (int i = 1; i < n_args; i++) { - if (mp_binary_op(MP_BINARY_OP_LESS, args[i], min_obj)) { + if (mp_binary_op(MP_BINARY_OP_LESS, args[i], min_obj) == mp_const_true) { min_obj = args[i]; } } |