diff options
| author | Damien George <damien.p.george@gmail.com> | 2014-10-12 16:59:29 +0100 |
|---|---|---|
| committer | Damien George <damien.p.george@gmail.com> | 2014-10-12 16:59:29 +0100 |
| commit | 91cfd414c052179ad41755cc7e5085be1a365c2d (patch) | |
| tree | 6ca19f158f2df040955b077c801be03e604644fe /tests/micropython/viper_ptr16_load.py | |
| parent | 1ef2348df0c15f9924d3b5be798fd20805ccd5aa (diff) | |
py: Implement native load for viper.
Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using
machine instructions.
Diffstat (limited to 'tests/micropython/viper_ptr16_load.py')
| -rw-r--r-- | tests/micropython/viper_ptr16_load.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/micropython/viper_ptr16_load.py b/tests/micropython/viper_ptr16_load.py new file mode 100644 index 000000000..06ce7db15 --- /dev/null +++ b/tests/micropython/viper_ptr16_load.py @@ -0,0 +1,18 @@ +# test loading from ptr16 type +# only works on little endian machines + +@micropython.viper +def get(src:ptr16) -> int: + return src[0] + +@micropython.viper +def memadd(src:ptr16, n:int) -> int: + sum = 0 + for i in range(n): + sum += src[i] + return sum + +b = bytearray(b'1234') +print(b) +print(get(b)) +print(memadd(b, 2)) |
