Skip to content

Commit 85e6bd7

Browse files
proper zeros and first
1 parent 876d5a4 commit 85e6bd7

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/array_partition.jl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ Base.similar(A::ArrayPartition, dims::Tuple) = ArrayPartition((similar.(A.x))...
1414
Base.similar{T}(A::ArrayPartition, ::Type{T}) = ArrayPartition(similar.(A.x, T)...)
1515
Base.similar{T}(A::ArrayPartition, ::Type{T}, dims::Tuple) = ArrayPartition(similar.(A.x, T, dims)...)
1616

17-
Base.copy(A::ArrayPartition) = Base.similar(A)
1817
Base.zeros(A::ArrayPartition) = ArrayPartition((zeros(x) for x in A.x)...)
18+
Base.zeros(A::ArrayPartition, dims::Tuple) = ArrayPartition((zeros.(A.x))...) # Ignore dims / indices since it's a vector
19+
Base.zeros{T}(A::ArrayPartition, ::Type{T}) = ArrayPartition(zeros.(A.x, T)...)
20+
Base.zeros{T}(A::ArrayPartition, ::Type{T}, dims::Tuple) = ArrayPartition(zeros.(A.x, T, dims)...)
21+
22+
Base.copy(A::ArrayPartition) = Base.similar(A)
1923
Base.eltype(A::ArrayPartition) = eltype(A.x[1])
2024

2125
# Special to work with units
@@ -72,7 +76,7 @@ end
7276
recursive_one(A::ArrayPartition) = recursive_one(first(A.x))
7377
recursive_mean(A::ArrayPartition) = mean((recursive_mean(x) for x in A.x))
7478
Base.zero(A::ArrayPartition) = zero(first(A.x))
75-
Base.first(A::ArrayPartition) = first(A.x)
79+
Base.first(A::ArrayPartition) = first(first(A.x))
7680

7781
Base.start(A::ArrayPartition) = start(chain(A.x...))
7882
Base.next(A::ArrayPartition,state) = next(chain(A.x...),state)
@@ -91,6 +95,7 @@ end
9195
Base.summary(A::ArrayPartition) = string(typeof(A), " with arrays:")
9296
Base.show(io::IO,A::ArrayPartition) = (Base.show.(io,A.x); nothing)
9397
Base.display(A::ArrayPartition) = (println(summary(A));display.(A.x);nothing)
98+
Base.display(io::IO,A::ArrayPartition) = (println(summary(A));display.(io,A.x);nothing)
9499

95100
add_idxs(x,expr) = expr
96101
add_idxs{T<:ArrayPartition}(::Type{T},expr) = :($(expr).x[i])

0 commit comments

Comments
 (0)