From ee24f1bb5c12a60ecc7edcd14439c4e5c98aa192 Mon Sep 17 00:00:00 2001 From: Daniel Karrasch Date: Mon, 14 Oct 2024 16:24:51 +0200 Subject: [PATCH] Inline sparse-times-dense in-place multiplication --- src/linalg.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/linalg.jl b/src/linalg.jl index 131a21bc..4a42d2b2 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)