Skip to content

Commit 55b9d0a

Browse files
authored
Merge pull request #543 from ykcUconn/main
Fix fancy index item bug
2 parents 2f545bf + 778cc67 commit 55b9d0a

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/blosc2/ndarray.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4013,7 +4013,7 @@ def _get_set_findex_default(self, _slice, out=None, value=None):
40134013
new_shape = sel_idx.newshape(out.shape)
40144014
out[sel_idx.raw] = chunk[sub_idx].reshape(new_shape)
40154015
else:
4016-
chunk[sub_idx] = value if np.isscalar(value) else value[sel_idx]
4016+
chunk[sub_idx] = value if np.isscalar(value) else value[sel_idx.raw]
40174017
out = super().set_slice((start, stop), chunk)
40184018
return out
40194019

tests/ndarray/test_setitem.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,15 @@ def test_ndfield():
110110
fb[:] = blosc2.full(shape, fill_value=1, dtype=np.float64)
111111
assert np.allclose(sa["a"][:], nsa["a"])
112112
assert np.allclose(sa["b"][:], nsa["b"])
113+
114+
115+
def test_setitem_fancy_index():
116+
out = blosc2.zeros(10)
117+
idx = np.array([1, 6, 7])
118+
value = np.arange(0, 3)
119+
out[idx] = value
120+
121+
out_numpy = np.zeros(10)
122+
out_numpy[idx] = value
123+
124+
np.testing.assert_array_equal(out[:], out_numpy)

0 commit comments

Comments
 (0)