Skip to content

Commit 40e2e61

Browse files
committed
Move @stable_muladdmul within Bidiagonal-Diagonal _mul!
1 parent d60df5f commit 40e2e61

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/bidiag.jl

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -892,18 +892,21 @@ function __bibimul_bulk!(C, A::Bidiagonal, B::Bidiagonal, _add)
892892
C
893893
end
894894

895-
function _mul!(C::AbstractMatrix, A::BiTriSym, B::Diagonal, _add::MulAddMul)
895+
function _mul!(C::AbstractMatrix, A::BiTriSym, B::Diagonal, alpha::Number, beta::Number)
896896
require_one_based_indexing(C)
897897
matmul_size_check(size(C), size(A), size(B))
898898
n = size(A,1)
899899
iszero(n) && return C
900-
_rmul_or_fill!(C, _add.beta) # see the same use above
901-
iszero(_add.alpha) && return C
900+
_rmul_or_fill!(C, beta) # see the same use above
901+
iszero(alpha) && return C
902902
# beta is unused in the _bidimul! call, so we set it to false
903-
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add, Val(false))
904-
_bidimul!(C, A, B, _add_nonzeroalpha)
903+
@stable_muladdmul _mul_nonzeroalpha!(C, A, B, MulAddMul(alpha, false))
905904
C
906905
end
906+
function _mul_nonzeroalpha!(C::AbstractMatrix, A::BiTriSym, B::Diagonal, _add::MulAddMul)
907+
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add)
908+
_bidimul!(C, A, B, _add_nonzeroalpha)
909+
end
907910
function _bidimul!(C::AbstractMatrix, A::BiTriSym, B::Diagonal, _add::MulAddMul)
908911
n = size(A,1)
909912
Al = _diag(A, -1)

0 commit comments

Comments
 (0)