Skip to content

Commit 8ff79f5

Browse files
committed
Avoid undef error
Signed-off-by: ErikQQY <2283984853@qq.com>
1 parent 3047711 commit 8ff79f5

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

src/vector_of_array.jl

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,21 @@ end
736736
end
737737

738738
@inline function Base.similar(VA::VectorOfArray, dims::N) where {N}
739-
VectorOfArray(similar(VA.u, dims))
739+
l = length(VA)
740+
if dims <= l
741+
VectorOfArray([similar(VA[:, i]) for i in 1:l])
742+
else
743+
VectorOfArray([[similar(VA[:, i]) for i in 1:l]; [similar(VA.u[end]) for _ in (l+1):dims]])
744+
end
745+
end
746+
747+
@inline function Base.similar(VA::VectorOfArray, ::Type{T}, dims::N) where {N, T}
748+
l = length(VA)
749+
if dims <= l
750+
VectorOfArray([similar(VA[:, i], T) for i in 1:l])
751+
else
752+
VectorOfArray([[similar(VA[:, i], T) for i in 1:l]; [similar(VA.u[end], T) for _ in (l+1):dims]])
753+
end
740754
end
741755

742756
@inline function Base.similar(VA::VectorOfArray{T, N, AT},

0 commit comments

Comments
 (0)