Skip to content

Commit c98436b

Browse files
committed
Sparse array slicing
1 parent cf050da commit c98436b

File tree

1 file changed

+11
-0
lines changed
  • NDTensors/src/lib/SparseArrayInterface/src/sparsearrayinterface

1 file changed

+11
-0
lines changed

NDTensors/src/lib/SparseArrayInterface/src/sparsearrayinterface/indexing.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,17 @@ function sparse_setindex!(a::AbstractArray, value, I::CartesianIndex{1})
143143
return a
144144
end
145145

146+
# Slicing
147+
function sparse_setindex!(a::AbstractArray, value, I::AbstractUnitRange...)
148+
inds = CartesianIndices(I)
149+
for i in stored_indices(value)
150+
if i in CartesianIndices(inds)
151+
a[inds[i]] = value[i]
152+
end
153+
end
154+
return a
155+
end
156+
146157
# Handle trailing indices
147158
function sparse_setindex!(a::AbstractArray, value, I::CartesianIndex)
148159
t = Tuple(I)

0 commit comments

Comments
 (0)