diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-02-08 23:19:48 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-02-08 23:19:48 +0200 |
commit | f7c2410e65e3d0d1278c22cbf457fa0ac5c205a2 (patch) | |
tree | abed910566a0a2e14f5e8606d096162e30a4072a /py | |
parent | ee4aaf7cddd044afb3e6f2d4ead0635ee6607630 (diff) | |
download | micropython-f7c2410e65e3d0d1278c22cbf457fa0ac5c205a2.tar.gz micropython-f7c2410e65e3d0d1278c22cbf457fa0ac5c205a2.zip |
Implement tuple multiplication.
Diffstat (limited to 'py')
-rw-r--r-- | py/objtuple.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/py/objtuple.c b/py/objtuple.c index b7710e1d53..18eb6df4de 100644 --- a/py/objtuple.c +++ b/py/objtuple.c @@ -124,6 +124,16 @@ static mp_obj_t tuple_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs) { m_seq_cat(s->items, o->items, o->len, p->items, p->len, mp_obj_t); return s; } + case RT_BINARY_OP_MULTIPLY: + { + if (!MP_OBJ_IS_SMALL_INT(rhs)) { + return NULL; + } + int n = MP_OBJ_SMALL_INT_VALUE(rhs); + mp_obj_tuple_t *s = mp_obj_new_tuple(o->len * n, NULL); + mp_seq_multiply(o->items, sizeof(*o->items), o->len, n, s->items); + return s; + } case RT_BINARY_OP_EQUAL: case RT_BINARY_OP_LESS: case RT_BINARY_OP_LESS_EQUAL: |