@@ -8,7 +8,7 @@ import Base: *, +, -, /, \, ^, AbstractArray, AbstractMatrix, AbstractVector, Ar
88 axes, copy, copymutable, copyto!, getindex, getproperty, inv,
99 length, map, oneto, promote_op, require_one_based_indexing, show,
1010 similar, size, transpose, adjoint, copymutable, transpose,
11- adjoint, copymutable, transpose
11+ adjoint, copymutable, transpose, tail
1212
1313import Base. Broadcast: BroadcastStyle, Broadcasted, broadcasted
1414
@@ -114,8 +114,15 @@ function chop(A::AbstractMatrix{T}, tol::Real=zero(real(T))) where T
114114 return A
115115end
116116
117- pad (c:: AbstractVector{T} , ax:: Union{OneTo,OneToInf} ) where T = [c; Zeros {T} (length (ax)- length (c))]
118- pad (c, ax... ) = PaddedArray (c, ax)
117+ pad (c:: AbstractVector{T} , ax:: Union{OneTo,OneToInf} ) where T = Vcat (c, Zeros {T} (length (ax)- length (c)))
118+ pad (c:: AbstractVector{T} , n:: Int ) where T = Vcat (c, Zeros {T} (n- length (c)))
119+
120+ _colon2axes (:: Tuple{} , bx:: Tuple{} ) = ()
121+ _colon2axes (ax:: Tuple , bx:: Tuple{Colon, Vararg{Any}} ) = (first (ax), _colon2axes (tail (ax), tail (bx))... )
122+ _colon2axes (ax:: Tuple , bx:: Tuple{Union{Integer,Infinity}, Vararg{Any}} ) = (oneto (first (bx)), _colon2axes (tail (ax), tail (bx))... )
123+ _colon2axes (ax:: Tuple , bx:: Tuple ) = (first (bx), _colon2axes (tail (ax), tail (bx))... )
124+ pad (c, ax... ) = PaddedArray (c, _colon2axes (axes (c), ax))
125+ pad (c, ax:: Colon... ) = c
119126
120127pad (c:: Transpose , ax, bx) = transpose (pad (parent (c), bx, ax))
121128pad (c:: Adjoint , ax, bx) = adjoint (pad (parent (c), bx, ax))
0 commit comments