@@ -162,6 +162,11 @@ getindex(A::LayoutVector, kr::Colon) = layout_getindex(A, kr)
162162getindex (A:: AdjOrTrans{<:Any,<:LayoutVector} , kr:: Integer , jr:: Colon ) = layout_getindex (A, kr, jr)
163163getindex (A:: AdjOrTrans{<:Any,<:LayoutVector} , kr:: Integer , jr:: AbstractVector ) = layout_getindex (A, kr, jr)
164164
165+ * (a:: Zeros{<:Any,2} , b:: LayoutMatrix ) = FillArrays. mult_zeros (a, b)
166+ * (a:: LayoutMatrix , b:: Zeros{<:Any,2} ) = FillArrays. mult_zeros (a, b)
167+ * (a:: Transpose{T, <:LayoutMatrix{T}} where T, b:: Zeros{<:Any, 2} ) = FillArrays. mult_zeros (a, b)
168+ * (a:: Adjoint{T, <:LayoutMatrix{T}} where T, b:: Zeros{<:Any, 2} ) = FillArrays. mult_zeros (a, b)
169+
165170* (A:: Diagonal{<:Any,<:LayoutVector} , B:: Diagonal{<:Any,<:LayoutVector} ) = mul (A, B)
166171* (A:: Diagonal{<:Any,<:LayoutVector} , B:: AbstractMatrix ) = mul (A, B)
167172* (A:: AbstractMatrix , B:: Diagonal{<:Any,<:LayoutVector} ) = mul (A, B)
306311# printing
307312# ##
308313
314+ const LayoutVecOrMat{T} = Union{LayoutVector{T},LayoutMatrix{T}}
315+ const LayoutVecOrMats{T} = Union{LayoutVecOrMat{T},SubArray{T,1 ,<: LayoutVecOrMat },SubArray{T,2 ,<: LayoutVecOrMat }}
316+
309317layout_replace_in_print_matrix (_, A, i, j, s) =
310318 i in colsupport (A,j) ? s : Base. replace_with_centered_mark (s)
311319
@@ -315,7 +323,7 @@ Base.replace_in_print_matrix(A::Union{LayoutVector,
315323 UnitUpperTriangular{<: Any ,<: LayoutMatrix },
316324 LowerTriangular{<: Any ,<: LayoutMatrix },
317325 UnitLowerTriangular{<: Any ,<: LayoutMatrix },
318- AdjOrTrans{<: Any ,<: LayoutMatrix },
326+ AdjOrTrans{<: Any ,<: LayoutVecOrMat },
319327 HermOrSym{<: Any ,<: LayoutMatrix },
320328 SubArray{<: Any ,2 ,<: LayoutMatrix }}, i:: Integer , j:: Integer , s:: AbstractString ) =
321329 layout_replace_in_print_matrix (MemoryLayout (A), A, i, j, s)
@@ -339,8 +347,7 @@ include("cumsum.jl")
339347# support overloading hcat/vcat for ∞-arrays
340348# ##
341349
342- const LayoutVecOrMat{T} = Union{LayoutVector{T},LayoutMatrix{T}}
343- const LayoutVecOrMats{T} = Union{LayoutVecOrMat{T},SubArray{T,1 ,<: LayoutVecOrMat },SubArray{T,2 ,<: LayoutVecOrMat }}
350+
344351
345352typed_hcat (:: Type{T} , :: Tuple , A... ) where T = Base. _typed_hcat (T, A)
346353typed_vcat (:: Type{T} , :: Tuple , A... ) where T = Base. _typed_vcat (T, A)
0 commit comments