Skip to content

Commit 9ac5b9e

Browse files
committed
Improve push_coo! and finalize_coo! interfaces
1 parent cb75946 commit 9ac5b9e

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/SparseMatrixCSR.jl

+9
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,11 @@ function push_coo!(::Type{SparseMatrixCSR},
223223
(push!(I, ik), push!(J, jk), push!(V, vk))
224224
end
225225

226+
push_coo!(::Type{SparseMatrixCSR{Bi}}, I, J, V, ik, jk, vk) where {Bi} =
227+
push_coo!(SparseMatrixCSR, I, J, V, ik, jk, vk)
228+
229+
push_coo!(::Type{SparseMatrixCSR{Bi,Tv,Ti}}, I, J, V, ik, jk, vk) where {Bi,Tv,Ti} =
230+
push_coo!(SparseMatrixCSR, I, J, V, ik, jk, vk)
226231

227232
"""
228233
function finalize_coo!(::Type{SparseMatrixCSR},I,J,V,m,n)
@@ -233,7 +238,11 @@ function finalize_coo!(::Type{SparseMatrixCSR},
233238
I::Vector,J::Vector,V::Vector,m::Integer,n::Integer)
234239
end
235240

241+
finalize_coo!(T::Type{SparseMatrixCSR{Bi}}, I , J, V, m, n) where {Bi} =
242+
finalize_coo!(SparseMatrix, Ij, V, m, n)
236243

244+
finalize_coo!(T::Type{SparseMatrixCSR{Bi,Tv,Ti}}, I , J, V, m, n) where {Bi,Tv,Ti} =
245+
finalize_coo!(SparseMatrix, Ij, V, m, n)
237246

238247
"""
239248
function mul!(y::AbstractVector,A::SparseMatrixCSR,v::AbstractVector{T}) where {T}

src/SymSparseMatrixCSR.jl

+12
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ function push_coo!(::Type{SymSparseMatrixCSR},
143143
(push!(I, ik), push!(J, jk), push!(V, vk))
144144
end
145145

146+
push_coo!(::Type{SymSparseMatrixCSR{Bi}}, I, J, V, ik, jk, vk) where {Bi} =
147+
push_coo!(SymSparseMatrixCSR, I, J, V, ik, jk, vk)
148+
149+
push_coo!(::Type{SymSparseMatrixCSR{Bi,Tv,Ti}}, I, J, V, ik, jk, vk) where {Bi,Tv,Ti} =
150+
push_coo!(SymSparseMatrixCSR, I, J, V, ik, jk, vk)
151+
146152

147153
"""
148154
function finalize_coo!(::Type{SymSparseMatrixCSR},I,J,V,m,n)
@@ -168,6 +174,12 @@ function finalize_coo!(T::Type{SymSparseMatrixCSR},
168174
end
169175
end
170176

177+
finalize_coo!(T::Type{SymSparseMatrixCSR{Bi}}, I , J, V, m, n) where {Bi} =
178+
finalize_coo!(SymSparseMatrix, Ij, V, m, n)
179+
180+
finalize_coo!(T::Type{SymSparseMatrixCSR{Bi,Tv,Ti}}, I , J, V, m, n) where {Bi,Tv,Ti} =
181+
finalize_coo!(SymSparseMatrix, Ij, V, m, n)
182+
171183

172184
"""
173185
function mul!(y::AbstractVector,A::SymSparseMatrixCSR,v::AbstractVector{T}) where {T}

0 commit comments

Comments
 (0)