@@ -693,22 +693,24 @@ end
693
693
for Tri in (:UpperTriangular , :LowerTriangular )
694
694
UTri = Symbol (:Unit , Tri)
695
695
# 2 args
696
- for (fun, f) in zip ((:* , :rmul! , :rdiv! , :/ ), (:identity , :identity , :inv , :inv ))
697
- @eval $ fun (A:: $Tri , D:: Diagonal ) = $ Tri ($ fun (A. data, D))
698
- @eval $ fun (A:: $UTri , D:: Diagonal ) = $ Tri (_setdiag! ($ fun (A. data, D), $ f, D. diag))
696
+ for (fun, f) in zip ((:mul , :rmul! , :rdiv! , :/ ), (:identity , :identity , :inv , :inv ))
697
+ g = fun == :mul ? :* : fun
698
+ @eval $ fun (A:: $Tri , D:: Diagonal ) = $ Tri ($ g (A. data, D))
699
+ @eval $ fun (A:: $UTri , D:: Diagonal ) = $ Tri (_setdiag! ($ g (A. data, D), $ f, D. diag))
699
700
end
700
- @eval * (A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
701
- @invoke * (A:: AbstractMatrix , D:: Diagonal )
702
- @eval * (A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
703
- @invoke * (A:: AbstractMatrix , D:: Diagonal )
704
- for (fun, f) in zip ((:* , :lmul! , :ldiv! , :\ ), (:identity , :identity , :inv , :inv ))
705
- @eval $ fun (D:: Diagonal , A:: $Tri ) = $ Tri ($ fun (D, A. data))
706
- @eval $ fun (D:: Diagonal , A:: $UTri ) = $ Tri (_setdiag! ($ fun (D, A. data), $ f, D. diag))
701
+ @eval mul (A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
702
+ @invoke mul (A:: AbstractMatrix , D:: Diagonal )
703
+ @eval mul (A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
704
+ @invoke mul (A:: AbstractMatrix , D:: Diagonal )
705
+ for (fun, f) in zip ((:mul , :lmul! , :ldiv! , :\ ), (:identity , :identity , :inv , :inv ))
706
+ g = fun == :mul ? :* : fun
707
+ @eval $ fun (D:: Diagonal , A:: $Tri ) = $ Tri ($ g (D, A. data))
708
+ @eval $ fun (D:: Diagonal , A:: $UTri ) = $ Tri (_setdiag! ($ g (D, A. data), $ f, D. diag))
707
709
end
708
- @eval * (D:: Diagonal , A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
709
- @invoke * (D:: Diagonal , A:: AbstractMatrix )
710
- @eval * (D:: Diagonal , A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
711
- @invoke * (D:: Diagonal , A:: AbstractMatrix )
710
+ @eval mul (D:: Diagonal , A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
711
+ @invoke mul (D:: Diagonal , A:: AbstractMatrix )
712
+ @eval mul (D:: Diagonal , A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
713
+ @invoke mul (D:: Diagonal , A:: AbstractMatrix )
712
714
# 3-arg ldiv!
713
715
@eval ldiv! (C:: $Tri , D:: Diagonal , A:: $Tri ) = $ Tri (ldiv! (C. data, D, A. data))
714
716
@eval ldiv! (C:: $Tri , D:: Diagonal , A:: $UTri ) = $ Tri (_setdiag! (ldiv! (C. data, D, A. data), inv, D. diag))
0 commit comments