@@ -669,22 +669,24 @@ end
669
669
for Tri in (:UpperTriangular , :LowerTriangular )
670
670
UTri = Symbol (:Unit , Tri)
671
671
# 2 args
672
- for (fun, f) in zip ((:* , :rmul! , :rdiv! , :/ ), (:identity , :identity , :inv , :inv ))
673
- @eval $ fun (A:: $Tri , D:: Diagonal ) = $ Tri ($ fun (A. data, D))
674
- @eval $ fun (A:: $UTri , D:: Diagonal ) = $ Tri (_setdiag! ($ fun (A. data, D), $ f, D. diag))
672
+ for (fun, f) in zip ((:mul , :rmul! , :rdiv! , :/ ), (:identity , :identity , :inv , :inv ))
673
+ g = fun == :mul ? :* : fun
674
+ @eval $ fun (A:: $Tri , D:: Diagonal ) = $ Tri ($ g (A. data, D))
675
+ @eval $ fun (A:: $UTri , D:: Diagonal ) = $ Tri (_setdiag! ($ g (A. data, D), $ f, D. diag))
675
676
end
676
- @eval * (A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
677
- @invoke * (A:: AbstractMatrix , D:: Diagonal )
678
- @eval * (A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
679
- @invoke * (A:: AbstractMatrix , D:: Diagonal )
680
- for (fun, f) in zip ((:* , :lmul! , :ldiv! , :\ ), (:identity , :identity , :inv , :inv ))
681
- @eval $ fun (D:: Diagonal , A:: $Tri ) = $ Tri ($ fun (D, A. data))
682
- @eval $ fun (D:: Diagonal , A:: $UTri ) = $ Tri (_setdiag! ($ fun (D, A. data), $ f, D. diag))
677
+ @eval mul (A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
678
+ @invoke mul (A:: AbstractMatrix , D:: Diagonal )
679
+ @eval mul (A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} , D:: Diagonal ) =
680
+ @invoke mul (A:: AbstractMatrix , D:: Diagonal )
681
+ for (fun, f) in zip ((:mul , :lmul! , :ldiv! , :\ ), (:identity , :identity , :inv , :inv ))
682
+ g = fun == :mul ? :* : fun
683
+ @eval $ fun (D:: Diagonal , A:: $Tri ) = $ Tri ($ g (D, A. data))
684
+ @eval $ fun (D:: Diagonal , A:: $UTri ) = $ Tri (_setdiag! ($ g (D, A. data), $ f, D. diag))
683
685
end
684
- @eval * (D:: Diagonal , A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
685
- @invoke * (D:: Diagonal , A:: AbstractMatrix )
686
- @eval * (D:: Diagonal , A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
687
- @invoke * (D:: Diagonal , A:: AbstractMatrix )
686
+ @eval mul (D:: Diagonal , A:: $Tri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
687
+ @invoke mul (D:: Diagonal , A:: AbstractMatrix )
688
+ @eval mul (D:: Diagonal , A:: $UTri{<:Any, <:StridedMaybeAdjOrTransMat} ) =
689
+ @invoke mul (D:: Diagonal , A:: AbstractMatrix )
688
690
# 3-arg ldiv!
689
691
@eval ldiv! (C:: $Tri , D:: Diagonal , A:: $Tri ) = $ Tri (ldiv! (C. data, D, A. data))
690
692
@eval ldiv! (C:: $Tri , D:: Diagonal , A:: $UTri ) = $ Tri (_setdiag! (ldiv! (C. data, D, A. data), inv, D. diag))
0 commit comments