@@ -252,7 +252,7 @@ macro layoutmul(Typ)
252252 (* )(A:: $Typ , B:: LinearAlgebra. $ Struc) = ArrayLayouts. mul (A,B)
253253 end
254254 end
255- for Mod in (:Adjoint , :Transpose , :Symmetric , :Hermitian , :UpperOrLowerTriangular )
255+ for Mod in (:Adjoint , :Transpose , :Symmetric , :Hermitian )
256256 ret = quote
257257 $ ret
258258
@@ -297,6 +297,37 @@ macro layoutmul(Typ)
297297 end
298298 end
299299
300+ ret = quote
301+ $ ret
302+
303+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: $Typ , b:: UpperOrLowerTriangular ) =
304+ ArrayLayouts. mul! (dest,A,b)
305+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: UpperOrLowerTriangular , b:: $Typ ) =
306+ ArrayLayouts. mul! (dest,A,b)
307+ LinearAlgebra. mul! (dest:: AbstractVector , A:: UpperOrLowerTriangular{<:Any,<:$Typ} , b:: AbstractVector ) =
308+ ArrayLayouts. mul! (dest,A,b)
309+ LinearAlgebra. mul! (dest:: AbstractVector , A:: UpperOrLowerTriangular{<:Any,<:$Typ} , b:: AbstractVector , α:: Number , β:: Number ) =
310+ ArrayLayouts. mul! (dest,A,b,α,β)
311+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: UpperOrLowerTriangular{<:Any,<:$Typ} , B:: AbstractMatrix , α:: Number , β:: Number ) =
312+ ArrayLayouts. mul! (dest,A,B,α,β)
313+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: UpperOrLowerTriangular{<:Any,<:$Typ} , B:: UpperOrLowerTriangular , α:: Number , β:: Number ) =
314+ ArrayLayouts. mul! (dest,A,B,α,β)
315+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: AbstractMatrix , B:: UpperOrLowerTriangular{<:Any,<:$Typ} , α:: Number , β:: Number ) =
316+ ArrayLayouts. mul! (dest,A,B,α,β)
317+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: UpperOrLowerTriangular , B:: UpperOrLowerTriangular{<:Any,<:$Typ} , α:: Number , β:: Number ) =
318+ ArrayLayouts. mul! (dest,A,B,α,β)
319+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: UpperOrLowerTriangular{<:Any,<:$Typ} , B:: $Typ , α:: Number , β:: Number ) =
320+ ArrayLayouts. mul! (dest,A,B,α,β)
321+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: $Typ , B:: UpperOrLowerTriangular{<:Any,<:$Typ} , α:: Number , β:: Number ) =
322+ ArrayLayouts. mul! (dest,A,B,α,β)
323+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: UpperOrLowerTriangular , B:: $Typ , α:: Number , β:: Number ) =
324+ ArrayLayouts. mul! (dest,A,B,α,β)
325+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: $Typ , B:: UpperOrLowerTriangular , α:: Number , β:: Number ) =
326+ ArrayLayouts. mul! (dest,A,B,α,β)
327+ LinearAlgebra. mul! (dest:: AbstractMatrix , A:: UpperOrLowerTriangular{<:Any,<:$Typ} , B:: UpperOrLowerTriangular{<:Any,<:$Typ} , α:: Number , β:: Number ) =
328+ ArrayLayouts. mul! (dest,A,B,α,β)
329+
330+ end
300331 esc (ret)
301332end
302333
316347* (x:: TransposeAbsVec{<:Any,<:Zeros{<:Any,1}} , D:: Diagonal , y:: LayoutVector ) = FillArrays. _triple_zeromul (x, D, y)
317348
318349
350+ * (A:: UpperOrLowerTriangular{<:Any,<:LayoutMatrix} , B:: UpperOrLowerTriangular{<:Any,<:LayoutMatrix} ) = mul (A, B)
319351* (A:: UpperOrLowerTriangular{<:Any,<:AdjOrTrans{<:Any,<:LayoutMatrix}} , B:: UpperOrLowerTriangular{<:Any,<:LayoutMatrix} ) = mul (A, B)
320352* (A:: UpperOrLowerTriangular{<:Any,<:LayoutMatrix} , B:: UpperOrLowerTriangular{<:Any,<:AdjOrTrans{<:Any,<:LayoutMatrix}} ) = mul (A, B)
321353* (A:: UpperOrLowerTriangular{<:Any,<:AdjOrTrans{<:Any,<:LayoutMatrix}} , B:: UpperOrLowerTriangular{<:Any,<:AdjOrTrans{<:Any,<:LayoutMatrix}} ) = mul (A, B)
0 commit comments