|
2 | 2 |
|
3 | 3 | using LinearAlgebra: BlasComplex, BlasFloat, BlasReal, MulAddMul |
4 | 4 |
|
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 |
6 | 16 | 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) |
8 | 18 | end |
9 | 19 |
|
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 |
11 | 21 | 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) |
13 | 23 | end |
14 | 24 |
|
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 |
16 | 26 | tA = tA in ('S', 's', 'H', 'h') ? 'N' : tA |
17 | 27 | 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) |
19 | 29 | end |
20 | 30 |
|
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 |
22 | 32 | tA = tA in ('S', 's', 'H', 'h') ? 'T' : flip_trans(tA) |
23 | 33 | 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) |
25 | 35 | end |
26 | 36 |
|
27 | 37 | function LinearAlgebra.generic_trimatdiv!(C::oneVector{T}, uploc, isunitc, tfun::Function, A::oneSparseMatrixCSR{T}, B::oneVector{T}) where T <: BlasFloat |
|
0 commit comments