@@ -103,6 +103,24 @@ sparsecsr(::Val{Bi},I,J,V,m,n) where Bi = SparseMatrixCSR{Bi}(transpose(sparse(J
103103sparsecsr (:: Val{Bi} ,I,J,V,m,n,combine) where Bi = SparseMatrixCSR {Bi} (transpose (sparse (J,I,V,n,m,combine)))
104104dimlub (I) = isempty (I) ? 0 : Int (maximum (I))
105105
106+ """
107+ spzeroscsr(args...)
108+
109+ Crate a `SparseMatricesCSR` of all zeros
110+ """
111+ spzeroscsr (m:: Integer ,n:: Integer ) = SparseMatrixCSR (transpose (spzeros (n,m)))
112+ spzeroscsr (:: Type{Tv} ,m:: Integer ,n:: Integer ) where Tv = SparseMatrixCSR (transpose (spzeros (Tv,n,m)))
113+ spzeroscsr (:: Type{Tv} ,:: Type{Ti} ,m:: Integer ,n:: Integer ) where {Tv,Ti} = SparseMatrixCSR (transpose (spzeros (Tv,Ti,n,m)))
114+ # de-splatting variants
115+ spzeroscsr (sz:: Tuple{Integer,Integer} ) = SparseMatrixCSR (transpose (spzeros ((sz[2 ],sz[1 ]))))
116+ spzeroscsr (:: Type{Tv} ,sz:: Tuple{Integer,Integer} ) where Tv = SparseMatrixCSR (transpose (spzeros ((sz[2 ],sz[1 ]))))
117+ spzeroscsr (:: Type{Tv} ,:: Type{Ti} ,sz:: Tuple{Integer,Integer} ) where {Ti,Tv} = SparseMatrixCSR (transpose (spzeros (Tv,Ti,(sz[2 ],sz[1 ]))))
118+ # below methods require julia 1.10 or later
119+ spzeroscsr (I:: AbstractVector ,J:: AbstractVector ) = SparseMatrixCSR (transpose (spzeros (J,I)))
120+ spzeroscsr (I:: AbstractVector ,J:: AbstractVector ,m,n) = SparseMatrixCSR (transpose (spzeros (J,I,n,m)))
121+ spzeroscsr (:: Type{Tv} ,I:: AbstractVector ,J:: AbstractVector ,m,n) where Tv = SparseMatrixCSR (transpose (spzeros (Tv,J,I,n,m)))
122+
123+
106124Base. convert (:: Type{T} ,a:: T ) where T<: SparseMatrixCSR = a
107125function Base. convert (
108126 :: Type{SparseMatrixCSR{Bi,Tv,Ti}} ,a:: SparseMatrixCSR{Bi} ) where {Bi,Tv,Ti}
0 commit comments