Skip to content

Commit 723b4d7

Browse files
committed
Again linalg
1 parent c42242d commit 723b4d7

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

lib/mkl/interfaces.jl

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,36 @@
22

33
using LinearAlgebra: BlasComplex, BlasFloat, BlasReal, MulAddMul
44

5-
function LinearAlgebra.generic_matvecmul!(C::oneVector{T}, tA::AbstractChar, A::oneSparseMatrixCSR{T}, B::oneVector{T}, _add::MulAddMul) where T <: BlasFloat
5+
# legacy methods with final MulAddMul argument
6+
LinearAlgebra.generic_matvecmul!(C::oneVector{T}, tA::AbstractChar, A::oneSparseMatrixCSR{T}, B::oneVector{T}, _add::MulAddMul) where {T <: Union{Float16, ComplexF16, BlasFloat}} =
7+
LinearAlgebra.generic_matvecmul!(C, tA, A, B, _add.alpha, _add.beta)
8+
LinearAlgebra.generic_matvecmul!(C::oneVector{T}, tA::AbstractChar, A::oneSparseMatrixCSC{T}, B::oneVector{T}, _add::MulAddMul) where {T <: Union{Float16, ComplexF16, BlasFloat}} =
9+
LinearAlgebra.generic_matvecmul!(C, tA, A, B, _add.alpha, _add.beta)
10+
LinearAlgebra.generic_matmatmul!(C::oneMatrix{T}, tA, tB, A::oneSparseMatrixCSR{T}, B::oneMatrix{T}, _add::MulAddMul) where {T <: Union{Float16, ComplexF16, BlasFloat}} =
11+
LinearAlgebra.generic_matmatmul!(C, tA, tB, A, B, _add.alpha, _add.beta)
12+
LinearAlgebra.generic_matmatmul!(C::oneMatrix{T}, tA, tB, A::oneSparseMatrixCSC{T}, B::oneMatrix{T}, _add::MulAddMul) where {T <: Union{Float16, ComplexF16, BlasFloat}} =
13+
LinearAlgebra.generic_matmatmul!(C, tA, tB, A, B, _add.alpha, _add.beta)
14+
15+
function LinearAlgebra.generic_matvecmul!(C::oneVector{T}, tA::AbstractChar, A::oneSparseMatrixCSR{T}, B::oneVector{T}, alpha::Number, beta::Number) where T <: BlasFloat
616
tA = tA in ('S', 's', 'H', 'h') ? 'N' : tA
7-
sparse_gemv!(tA, _add.alpha, A, B, _add.beta, C)
17+
sparse_gemv!(tA, alpha, A, B, beta, C)
818
end
919

10-
function LinearAlgebra.generic_matvecmul!(C::oneVector{T}, tA::AbstractChar, A::oneSparseMatrixCSC{T}, B::oneVector{T}, _add::MulAddMul) where T <: BlasReal
20+
function LinearAlgebra.generic_matvecmul!(C::oneVector{T}, tA::AbstractChar, A::oneSparseMatrixCSC{T}, B::oneVector{T}, alpha::Number, beta::Number) where T <: BlasReal
1121
tA = tA in ('S', 's', 'H', 'h') ? 'T' : flip_trans(tA)
12-
sparse_gemv!(tA, _add.alpha, A, B, _add.beta, C)
22+
sparse_gemv!(tA, alpha, A, B, beta, C)
1323
end
1424

15-
function LinearAlgebra.generic_matmatmul!(C::oneMatrix{T}, tA, tB, A::oneSparseMatrixCSR{T}, B::oneMatrix{T}, _add::MulAddMul) where T <: BlasFloat
25+
function LinearAlgebra.generic_matmatmul!(C::oneMatrix{T}, tA, tB, A::oneSparseMatrixCSR{T}, B::oneMatrix{T}, alpha::Number, beta::Number) where T <: BlasFloat
1626
tA = tA in ('S', 's', 'H', 'h') ? 'N' : tA
1727
tB = tB in ('S', 's', 'H', 'h') ? 'N' : tB
18-
sparse_gemm!(tA, tB, _add.alpha, A, B, _add.beta, C)
28+
sparse_gemm!(tA, tB, alpha, A, B, beta, C)
1929
end
2030

21-
function LinearAlgebra.generic_matmatmul!(C::oneMatrix{T}, tA, tB, A::oneSparseMatrixCSC{T}, B::oneMatrix{T}, _add::MulAddMul) where T <: BlasReal
31+
function LinearAlgebra.generic_matmatmul!(C::oneMatrix{T}, tA, tB, A::oneSparseMatrixCSC{T}, B::oneMatrix{T}, alpha::Number, beta::Number) where T <: BlasReal
2232
tA = tA in ('S', 's', 'H', 'h') ? 'T' : flip_trans(tA)
2333
tB = tB in ('S', 's', 'H', 'h') ? 'N' : tB
24-
sparse_gemm!(tA, tB, _add.alpha, A, B, _add.beta, C)
34+
sparse_gemm!(tA, tB, alpha, A, B, beta, C)
2535
end
2636

2737
function LinearAlgebra.generic_trimatdiv!(C::oneVector{T}, uploc, isunitc, tfun::Function, A::oneSparseMatrixCSR{T}, B::oneVector{T}) where T <: BlasFloat

0 commit comments

Comments
 (0)