diff options
author | Damien George <damien.p.george@gmail.com> | 2014-01-21 21:54:15 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-01-21 21:54:15 +0000 |
commit | 12eaccacda83a15500dae4616b3c37deecb57182 (patch) | |
tree | 5ec75424388c0be9e3591f981982d891c07669cc /py/sequence.c | |
parent | 55baff4c9bcbc001cbb8972c289ebfa356d4665b (diff) | |
parent | 7280f790881fa174e4d234266ff42f0fe3d847bc (diff) |
Merge branch 'master' of github.com:micropython/micropython
Conflicts:
py/objstr.c
py/py.mk
py/stream.c
unix/main.c
unix/socket.c
Diffstat (limited to 'py/sequence.c')
-rw-r--r-- | py/sequence.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/py/sequence.c b/py/sequence.c new file mode 100644 index 000000000..56718c6f8 --- /dev/null +++ b/py/sequence.c @@ -0,0 +1,25 @@ +#include <stdlib.h> +#include <stdint.h> +#include <string.h> +#include <assert.h> + +#include "nlr.h" +#include "misc.h" +#include "mpconfig.h" +#include "qstr.h" +#include "obj.h" +#include "map.h" +#include "runtime0.h" +#include "runtime.h" + +// Helpers for sequence types + +// Implements backend of sequence * integer operation. Assumes elements are +// memory-adjacent in sequence. +void mp_seq_multiply(const void *items, uint item_sz, uint len, uint times, void *dest) { + for (int i = 0; i < times; i++) { + uint copy_sz = item_sz * len; + memcpy(dest, items, copy_sz); + dest = (char*)dest + copy_sz; + } +} |