@@ -317,10 +317,20 @@ end
317317
318318
319319# mul! for subarray of layout matrix
320- LinearAlgebra. mul! (C:: SubArray{<:Any,2,<:LayoutMatrix} , A:: SubArray{<:Any,2,<:LayoutMatrix} , B:: SubArray{<:Any,2,<:LayoutMatrix} , α:: Number , β:: Number ) =
320+ const SubLayoutMatrix = Union{SubArray{<: Any ,2 ,<: LayoutMatrix }, SubArray{<: Any ,2 ,<: AdjOrTrans{<:Any,<:LayoutMatrix} }}
321+
322+ LinearAlgebra. mul! (C:: AbstractMatrix , A:: SubLayoutMatrix , B:: AbstractMatrix , α:: Number , β:: Number ) =
323+ ArrayLayouts. mul! (C, A, B, α, β)
324+ LinearAlgebra. mul! (C:: AbstractMatrix , A:: AbstractMatrix , B:: SubLayoutMatrix , α:: Number , β:: Number ) =
325+ ArrayLayouts. mul! (C, A, B, α, β)
326+ LinearAlgebra. mul! (C:: AbstractMatrix , A:: SubLayoutMatrix , B:: LayoutMatrix , α:: Number , β:: Number ) =
321327 ArrayLayouts. mul! (C, A, B, α, β)
322- LinearAlgebra. mul! (C:: AbstractMatrix , A:: SubArray{<:Any,2,<: LayoutMatrix} , B:: SubArray{<:Any,2,<:LayoutMatrix} , α:: Number , β:: Number ) =
328+ LinearAlgebra. mul! (C:: AbstractMatrix , A:: LayoutMatrix , B:: SubLayoutMatrix , α:: Number , β:: Number ) =
323329 ArrayLayouts. mul! (C, A, B, α, β)
330+ LinearAlgebra. mul! (C:: AbstractMatrix , A:: SubLayoutMatrix , B:: SubLayoutMatrix , α:: Number , β:: Number ) =
331+ ArrayLayouts. mul! (C, A, B, α, β)
332+ LinearAlgebra. mul! (C:: AbstractVector , A:: SubLayoutMatrix , B:: AbstractVector , α:: Number , β:: Number ) =
333+ ArrayLayouts. mul! (C, A, B, α, β)
324334
325335
326336# ##
0 commit comments