diff --git a/src/SparseArrays.jl b/src/SparseArrays.jl index 7c6984cf..a3ef1767 100644 --- a/src/SparseArrays.jl +++ b/src/SparseArrays.jl @@ -19,7 +19,7 @@ import Base: Matrix, Vector import LinearAlgebra: mul!, ldiv!, rdiv!, cholesky, adjoint!, diag, eigen, dot, issymmetric, istril, istriu, lu, tr, transpose!, tril!, triu!, isbanded, isdiag, cond, diagm, factorize, ishermitian, norm, opnorm, lmul!, rmul!, tril, triu, - matop_dest, generic_matvecmul!, generic_matmatmul!, generic_matmatmul_wrapper!, copytrito!, nonzeroinds + matop_dest, copytrito!, nonzeroinds import Base: adjoint, argmin, argmax, Array, broadcast, circshift!, complex, Complex, conj, conj!, convert, copy, copy!, copyto!, count, diff, findall, findmax, findmin, diff --git a/src/linalg.jl b/src/linalg.jl index 69e2a0d5..0493706a 100644 --- a/src/linalg.jl +++ b/src/linalg.jl @@ -82,11 +82,11 @@ for op ∈ (:+, :-) end end -@inline generic_matmatmul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::DenseMatrixUnion, alpha::Number, beta::Number) = +mul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::DenseMatrixUnion, alpha::Number, beta::Number) = spdensemul!(C, tA, tB, A, B, alpha, beta) -@inline generic_matmatmul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::AbstractTriangular, alpha::Number, beta::Number) = +mul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::AbstractTriangular, alpha::Number, beta::Number) = spdensemul!(C, tA, tB, A, B, alpha, beta) -@inline generic_matvecmul!(C::StridedVecOrMat, tA, A::SparseMatrixCSCUnion2, B::DenseInputVector, alpha::Number, beta::Number) = +mul!(C::StridedVecOrMat, tA, A::SparseMatrixCSCUnion2, B::DenseInputVector, alpha::Number, beta::Number) = spdensemul!(C, tA, 'N', A, B, alpha, beta) Base.@constprop :aggressive function spdensemul!(C, tA, tB, A, B, alpha, beta) @@ -450,7 +450,7 @@ function estimate_mulsize(m::Integer, nnzA::Integer, n::Integer, nnzB::Integer, p >= 1 ? m*k : p > 0 ? Int(ceil(-expm1(log1p(-p) * n)*m*k)) : 0 # (1-(1-p)^n)*m*k end -Base.@constprop :aggressive function generic_matmatmul!(C::SparseMatrixCSCUnion2, tA, tB, A::SparseMatrixCSCUnion2, +Base.@constprop :aggressive function mul!(C::SparseMatrixCSCUnion2, tA, tB, A::SparseMatrixCSCUnion2, B::SparseMatrixCSCUnion2, alpha::Number, beta::Number) tA_uc, tB_uc = uppercase(tA), uppercase(tB) Anew, ta = tA_uc in ('S', 'H') ? (wrap(A, tA), oftype(tA, 'N')) : (A, tA) diff --git a/src/sparsevector.jl b/src/sparsevector.jl index 851ca3f5..c1e699cc 100644 --- a/src/sparsevector.jl +++ b/src/sparsevector.jl @@ -1885,11 +1885,7 @@ _fliptri(A::UnitUpperTriangular) = UnitLowerTriangular(parent(parent(A))) _fliptri(A::LowerTriangular) = UpperTriangular(parent(parent(A))) _fliptri(A::UnitLowerTriangular) = UnitUpperTriangular(parent(parent(A))) -# TODO: remove -Base.@constprop :aggressive generic_matvecmul!(y::AbstractVector, tA, A::StridedMatrix, x::AbstractSparseVector, - _add::MulAddMul = MulAddMul()) = - generic_matvecmul!(y, tA, A, x, _add.alpha, _add.beta) -Base.@constprop :aggressive function generic_matvecmul!(y::AbstractVector, tA, A::StridedMatrix, x::AbstractSparseVector, +Base.@constprop :aggressive function mul!(y::AbstractVector, tA, A::StridedMatrix, x::AbstractSparseVector, alpha::Number, beta::Number) if tA == 'N' _spmul!(y, A, x, alpha, beta) @@ -1902,10 +1898,7 @@ Base.@constprop :aggressive function generic_matvecmul!(y::AbstractVector, tA, A end return y end -# TODO: remove -generic_matvecmul!(y::AbstractVector, tA, A::UpperOrLowerTriangular, x::AbstractSparseVector, _add::MulAddMul = MulAddMul()) = - generic_matvecmul!(y, tA, A, x, _add.alpha, _add.beta) -function generic_matvecmul!(y::AbstractVector, tA, A::UpperOrLowerTriangular, x::AbstractSparseVector, +function mul!(y::AbstractVector, tA, A::UpperOrLowerTriangular, x::AbstractSparseVector, alpha::Number, beta::Number) @assert tA == 'N' Adata = parent(A) @@ -2002,11 +1995,7 @@ function densemv(A::AbstractSparseMatrixCSC, x::AbstractSparseVector; trans::Abs end # * and mul! -# TODO: remove -Base.@constprop :aggressive generic_matvecmul!(y::AbstractVector, tA, A::AbstractSparseMatrixCSC, x::AbstractSparseVector, - _add::MulAddMul = MulAddMul()) = - generic_matvecmul!(y, tA, A, x, _add.alpha, _add.beta) -Base.@constprop :aggressive function generic_matvecmul!(y::AbstractVector, tA, A::AbstractSparseMatrixCSC, x::AbstractSparseVector, +Base.@constprop :aggressive function mul!(y::AbstractVector, tA, A::AbstractSparseMatrixCSC, x::AbstractSparseVector, alpha::Number, beta::Number) if tA == 'N' _spmul!(y, A, x, alpha, beta)