Skip to content

Commit ee62ab2

Browse files
ApproxFun fixes
1 parent 795d4d4 commit ee62ab2

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

src/RecursiveArrayTools.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ module RecursiveArrayTools
1313
export VectorOfArray, AbstractVectorOfArray, vecarr_to_arr
1414

1515
export recursivecopy!, vecvecapply, copyat_or_push!, vecvec_to_mat, recursive_one,
16-
recursive_mean
16+
recursive_mean, recursive_eltype
1717

1818
export ArrayPartition
1919

src/utils.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ end
6666
recursive_one(a) = recursive_one(a[1])
6767
recursive_one{T<:Number}(a::T) = one(a)
6868

69+
recursive_eltype(a) = recursive_eltype(eltype(a))
70+
recursive_eltype{T<:Number}(a::Type{T}) = eltype(a)
71+
6972
recursive_mean(x...) = mean(x...)
7073
function recursive_mean{T<:AbstractArray}(vecvec::Vector{T})
7174
out = zeros(vecvec[1])

src/vector_of_array.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ VectorOfArray(vec::AbstractVector) = VectorOfArray(vec, (size(vec[1])..., length
1919

2020
# Interface for the two dimensional indexing, a more standard AbstractArray interface
2121
@inline Base.size(VA::AbstractVectorOfArray) = (size(VA.u[1])..., length(VA.u))
22-
@inline Base.getindex{T, N}(VA::AbstractVectorOfArray{T, N}, I::Vararg{Int, N}) = VA.u[I[end]][Base.front(I)...]
22+
@inline Base.getindex{T, N}(VA::AbstractVectorOfArray{T, N}, I::Int...) = VA.u[I[end]][Base.front(I)...]
2323

2424
# The iterator will be over the subarrays of the container, not the individual elements
2525
# unlike an true AbstractArray
@@ -41,3 +41,7 @@ end
4141

4242
# conversion tools
4343
vecarr_to_arr(VA::AbstractVectorOfArray) = cat(length(size(VA)), VA.u...)
44+
45+
# make it show just like its data
46+
Base.show(io::IO, x::AbstractVectorOfArray) = show(io, x.u)
47+
Base.show(io::IO, m::MIME"text/plain", x::AbstractVectorOfArray) = show(io, m, x.u)

0 commit comments

Comments
 (0)