@@ -693,22 +693,24 @@ end
693693for  Tri in  (:UpperTriangular , :LowerTriangular )
694694    UTri =  Symbol (:Unit , Tri)
695695    #  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))
699700    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))
707709    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 )
712714    #  3-arg ldiv!
713715    @eval  ldiv! (C:: $Tri , D:: Diagonal , A:: $Tri ) =  $ Tri (ldiv! (C. data, D, A. data))
714716    @eval  ldiv! (C:: $Tri , D:: Diagonal , A:: $UTri ) =  $ Tri (_setdiag! (ldiv! (C. data, D, A. data), inv, D. diag))
0 commit comments