From 485fd4babbeaed76906e88b6adc97496346727de Mon Sep 17 00:00:00 2001 From: Daniel Karrasch <daniel.karrasch@posteo.de> Date: Thu, 24 Oct 2024 17:54:31 +0200 Subject: [PATCH] Inline sparse-times-dense in-place multiplication (#567) --- src/linalg.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/linalg.jl b/src/linalg.jl index af7fe50d..6a4728cd 100644 --- a/src/linalg.jl +++ b/src/linalg.jl @@ -47,11 +47,11 @@ for op ∈ (:+, :-) end end -generic_matmatmul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::DenseMatrixUnion, alpha::Number, beta::Number) = +@inline generic_matmatmul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::DenseMatrixUnion, alpha::Number, beta::Number) = spdensemul!(C, tA, tB, A, B, alpha, beta) -generic_matmatmul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::AbstractTriangular, alpha::Number, beta::Number) = +@inline generic_matmatmul!(C::StridedMatrix, tA, tB, A::SparseMatrixCSCUnion2, B::AbstractTriangular, alpha::Number, beta::Number) = spdensemul!(C, tA, tB, A, B, alpha, beta) -generic_matvecmul!(C::StridedVecOrMat, tA, A::SparseMatrixCSCUnion2, B::DenseInputVector, alpha::Number, beta::Number) = +@inline generic_matvecmul!(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)