forked from M-Labs/artiq
Strided slicing of one-dimensional arrays (i.e. with non-trivial steps) might have previously been working, but would have had different semantics, as all slices were copies rather than a view into the original data. Fixing this in the future will require adding support for an index stride field/tuple to our array representation (and all the associated indexing logic). GitHub: Fixes #1627.
25 lines
362 B
Python
25 lines
362 B
Python
# RUN: %python -m artiq.compiler.testbench.jit %s
|
|
|
|
a = array([0, 1, 2, 3])
|
|
|
|
b = a[2:3]
|
|
assert b.shape == (1,)
|
|
assert b[0] == 2
|
|
b[0] = 5
|
|
assert a[2] == 5
|
|
|
|
b = a[3:2]
|
|
assert b.shape == (0,)
|
|
|
|
c = array([[0, 1], [2, 3]])
|
|
|
|
d = c[:1]
|
|
assert d.shape == (1, 2)
|
|
assert d[0, 0] == 0
|
|
assert d[0, 1] == 1
|
|
d[0, 0] = 5
|
|
assert c[0, 0] == 5
|
|
|
|
d = c[1:0]
|
|
assert d.shape == (0, 2)
|