diff --git a/src/ExtendableSparse.jl b/src/ExtendableSparse.jl index a1fd4e9..0dd8536 100644 --- a/src/ExtendableSparse.jl +++ b/src/ExtendableSparse.jl @@ -39,7 +39,7 @@ STExtendableSparseMatrixCSC(m,n,args...)=STExtendableSparseMatrixCSC{Float64,Int export ExtendableSparseMatrixCSC, MTExtendableSparseMatrixCSC, STExtendableSparseMatrixCSC, GenericMTExtendableSparseMatrixCSC -export SparseMatrixLNK, ExtendableSparseMatrix,flush!, nnz, updateindex!, rawupdateindex!, colptrs, sparse, reset! +export SparseMatrixLNK, ExtendableSparseMatrix,flush!, nnz, updateindex!, rawupdateindex!, colptrs, sparse, reset!, nnznew export partitioning! export eliminate_dirichlet, eliminate_dirichlet!, mark_dirichlet diff --git a/src/matrix/extendable.jl b/src/matrix/extendable.jl index a9debf7..d4c35b5 100644 --- a/src/matrix/extendable.jl +++ b/src/matrix/extendable.jl @@ -182,7 +182,8 @@ function rawupdateindex!(ext::ExtendableSparseMatrixCSC{Tv, Ti}, op, v, i, - j) where {Tv, Ti <: Integer} + j, + part=1) where {Tv, Ti <: Integer} k = findindex(ext.cscmatrix, i, j) if k > 0 ext.cscmatrix.nzval[k] = op(ext.cscmatrix.nzval[k], v) diff --git a/src/matrix/genericextendablesparsematrixcsc.jl b/src/matrix/genericextendablesparsematrixcsc.jl index c741283..457413e 100644 --- a/src/matrix/genericextendablesparsematrixcsc.jl +++ b/src/matrix/genericextendablesparsematrixcsc.jl @@ -18,6 +18,8 @@ function GenericExtendableSparseMatrixCSC{Tm, Tv, Ti}(m::Integer,n::Integer) whe end +nnznew(ext::GenericExtendableSparseMatrixCSC)=nnz(ext.xmatrix) + function reset!(ext::GenericExtendableSparseMatrixCSC{Tm,Tv,Ti}) where {Tm,Tv,Ti} m,n=size(ext.cscmatrix) ext.cscmatrix=spzeros(Tv, Ti, m, n) diff --git a/src/matrix/genericmtextendablesparsematrixcsc.jl b/src/matrix/genericmtextendablesparsematrixcsc.jl index 91c805d..88a4d68 100644 --- a/src/matrix/genericmtextendablesparsematrixcsc.jl +++ b/src/matrix/genericmtextendablesparsematrixcsc.jl @@ -81,6 +81,9 @@ function Base.getindex(ext::GenericMTExtendableSparseMatrixCSC, end end +nnznew(ext::GenericMTExtendableSparseMatrixCSC)=sum(nnz,ext.xmatrices) + + function rawupdateindex!(ext::GenericMTExtendableSparseMatrixCSC, op, v,