Skip to content

Commit 2ef2051

Browse files
committed
Set beta to false if unused
1 parent 3cb8023 commit 2ef2051

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/bidiag.jl

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -599,10 +599,14 @@ function _diag(A::Bidiagonal, k)
599599
end
600600

601601
_MulAddMul_nonzeroalpha(_add::MulAddMul) = _add
602+
function _MulAddMul_nonzeroalpha(_add::MulAddMul{ais1,bis0,A}, ::Val{false}) where {ais1,bis0,A}
603+
MulAddMul{ais1,true,A,Bool}(_add.alpha, false)
604+
end
602605
function _MulAddMul_nonzeroalpha(_add::MulAddMul{ais1,bis0,Bool}) where {ais1,bis0}
603606
(; beta) = _add
604607
MulAddMul{true,bis0,Bool,typeof(beta)}(true, beta)
605608
end
609+
_MulAddMul_nonzeroalpha(_add::MulAddMul{ais1,bis0,Bool}, ::Val{false}) where {ais1,bis0} = MulAddMul()
606610

607611
_mul!(C::AbstractMatrix, A::BiTriSym, B::TriSym, _add::MulAddMul) =
608612
_bibimul!(C, A, B, _add)
@@ -618,7 +622,8 @@ function _bibimul!(C, A, B, _add::MulAddMul)
618622
# off-diagonal elements for non-zero beta.
619623
_rmul_or_fill!(C, _add.beta)
620624
iszero(_add.alpha) && return C
621-
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add)
625+
# beta is unused in _bibimul_nonzeroalpha!, so we set it to false
626+
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add, Val(false))
622627
_bibimul_nonzeroalpha!(C, A, B, _add_nonzeroalpha)
623628
C
624629
end
@@ -867,7 +872,8 @@ function _mul!(C::AbstractMatrix, A::BiTriSym, B::Diagonal, _add::MulAddMul)
867872
iszero(n) && return C
868873
_rmul_or_fill!(C, _add.beta) # see the same use above
869874
iszero(_add.alpha) && return C
870-
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add)
875+
# beta is unused in the _bidimul! call, so we set it to false
876+
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add, Val(false))
871877
_bidimul!(C, A, B, _add_nonzeroalpha)
872878
C
873879
end
@@ -983,7 +989,7 @@ function _mul!(C::AbstractVecOrMat, A::BiTriSym, B::AbstractVecOrMat, _add::MulA
983989
_mul_bitrisym_left!(C, A, B, _add_nonzeroalpha)
984990
return C
985991
end
986-
function _mul_bitrisym_left!(C::AbstractVecOrMat, A::Bidiagonal, B::AbstractVecOrMat, _add::MulAddMul)
992+
function _mul_bitrisym_left!(C::AbstractVecOrMat, A::BiTriSym, B::AbstractVecOrMat, _add::MulAddMul)
987993
nA = size(A,1)
988994
nB = size(B,2)
989995
if nA == 1
@@ -1136,7 +1142,7 @@ function _dibimul!(C, A, B, _add)
11361142
# ensure that we fill off-band elements in the destination
11371143
_rmul_or_fill!(C, _add.beta)
11381144
iszero(_add.alpha) && return C
1139-
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add)
1145+
_add_nonzeroalpha = _MulAddMul_nonzeroalpha(_add, Val(false))
11401146
_dibimul_nonzeroalpha!(C, A, B, _add_nonzeroalpha)
11411147
C
11421148
end

0 commit comments

Comments
 (0)