@@ -2374,7 +2374,11 @@ getindex(A::SparseMatrixCSC, I::AbstractVector{<:Integer}, J::AbstractVector{Boo
2374
2374
getindex (A:: SparseMatrixCSC , I:: AbstractVector{Bool} , J:: AbstractVector{<:Integer} ) = A[findall (I),J]
2375
2375
2376
2376
# # setindex!
2377
- function setindex! (A:: SparseMatrixCSC{Tv,Ti} , _v, _i:: Integer , _j:: Integer ) where {Tv,Ti<: Integer }
2377
+
2378
+ # dispatch helper for #29034
2379
+ setindex! (A:: SparseMatrixCSC , _v, _i:: Integer , _j:: Integer ) = _setindex_scalar! (A, _v, _i, _j)
2380
+
2381
+ function _setindex_scalar! (A:: SparseMatrixCSC{Tv,Ti} , _v, _i:: Integer , _j:: Integer ) where {Tv,Ti<: Integer }
2378
2382
v = convert (Tv, _v)
2379
2383
i = convert (Ti, _i)
2380
2384
j = convert (Ti, _j)
@@ -2569,7 +2573,8 @@ end
2569
2573
_to_same_csc (:: SparseMatrixCSC{Tv, Ti} , V:: AbstractMatrix , I... ) where {Tv,Ti} = convert (SparseMatrixCSC{Tv,Ti}, V)
2570
2574
_to_same_csc (:: SparseMatrixCSC{Tv, Ti} , V:: AbstractVector , I... ) where {Tv,Ti} = convert (SparseMatrixCSC{Tv,Ti}, reshape (V, map (length, I)))
2571
2575
2572
- setindex! (A:: SparseMatrixCSC{Tv} , B:: AbstractVecOrMat , I:: Integer , J:: Integer ) where {Tv} = setindex! (A, convert (Tv, B), I, J)
2576
+ setindex! (A:: SparseMatrixCSC{Tv} , B:: AbstractVecOrMat , I:: Integer , J:: Integer ) where {Tv} = _setindex_scalar! (A, B, I, J)
2577
+
2573
2578
function setindex! (A:: SparseMatrixCSC{Tv,Ti} , V:: AbstractVecOrMat , Ix:: Union{Integer, AbstractVector{<:Integer}, Colon} , Jx:: Union{Integer, AbstractVector{<:Integer}, Colon} ) where {Tv,Ti<: Integer }
2574
2579
@assert ! has_offset_axes (A, V, Ix, Jx)
2575
2580
(I, J) = Base. ensure_indexable (to_indices (A, (Ix, Jx)))
0 commit comments