diff options
Diffstat (limited to 'tests/micropython/viper_addr.py')
| -rw-r--r-- | tests/micropython/viper_addr.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/micropython/viper_addr.py b/tests/micropython/viper_addr.py index cd953ce07..0d8efb90b 100644 --- a/tests/micropython/viper_addr.py +++ b/tests/micropython/viper_addr.py @@ -9,6 +9,13 @@ def memset(dest:ptr8, c:int, n:int): for i in range(n): dest[i] = c +@micropython.viper +def memsum(src:ptr8, n:int) -> int: + s = 0 + for i in range(n): + s += src[i] + return s + # create array and get its address ar = bytearray('0000') addr = get_addr(ar) @@ -27,3 +34,6 @@ print(ar) # pass direct pointer to array buffer, with offset memset(addr + 2, ord('3'), len(ar) - 2) print(ar) + +# pass a read-only bytes object in +print(memsum(b'\x01\x02\x03\x04', 4)) |
