-
Notifications
You must be signed in to change notification settings - Fork 42
Closed
Description
Not sure what happened after #55 but reductions now do not work anymore.
Two examples
julia> Y = AxisArray(randn(4,4,4,4),:x,:y,:z,:time)
julia> maximum(parent(Y),2)
ERROR: BoundsError: attempt to access (:x,:y,:z,:time)
at index [5]
in getindex(::Tuple{Symbol,Symbol,Symbol,Symbol}, ::Int64) at ./tuple.jl:8
in reaxis(...) at /home/knopp/.julia/v0.5/AxisArrays/src/indexing.jl:42
in macro expansion at ./reducedim.jl:230 [inlined]
in macro expansion at ./simdloop.jl:73 [inlined]
in _mapreducedim!(::Base.#identity, ::Base.#scalarmax, ::Array{Float64,4}, ::AxisArrays.AxisArray{Float64,4,Array{Float64,4},Tuple{AxisArrays.Axis{:x,Base.OneTo{Int64}},AxisArrays.Axis{:y,Base.OneTo{Int64}},AxisArrays.Axis{:z,Base.OneTo{Int64}},AxisArrays.Axis{:time,Base.OneTo{Int64}}}}) at ./reducedim.jl:229
in mapreducedim!(::Function, ::Function, ::Array{Float64,4}, ::AxisArrays.AxisArray{Float64,4,Array{Float64,4},Tuple{AxisArrays.Axis{:x,Base.OneTo{Int64}},AxisArrays.Axis{:y,Base.OneTo{Int64}},AxisArrays.Axis{:z,Base.OneTo{Int64}},AxisArrays.Axis{:time,Base.OneTo{Int64}}}}) at ./reducedim.jl:237
in mapreducedim(::Function, ::Function, ::AxisArrays.AxisArray{Float64,4,Array{Float64,4},Tuple{AxisArrays.Axis{:x,Base.OneTo{Int64}},AxisArrays.Axis{:y,Base.OneTo{Int64}},AxisArrays.Axis{:z,Base.OneTo{Int64}},AxisArrays.Axis{:time,Base.OneTo{Int64}}}}, ::Int64) at ./reducedim.jl:268
in maximum(::AxisArrays.AxisArray{Float64,4,Array{Float64,4},Tuple{AxisArrays.Axis{:x,Base.OneTo{Int64}},AxisArrays.Axis{:y,Base.OneTo{Int64}},AxisArrays.Axis{:z,Base.OneTo{Int64}},AxisArrays.Axis{:time,Base.OneTo{Int64}}}}, ::Int64) at ./reducedim.jl:320
and
julia> Y = AxisArray(randn(4,4,4),:x,:y,:z)
julia> maximum(parent(Y),2)
ERROR: ArgumentError: ordering is not well-defined for arrays
in macro expansion at ./reducedim.jl:230 [inlined]
in macro expansion at ./simdloop.jl:73 [inlined]
in _mapreducedim!(::Base.#identity, ::Base.#scalarmax, ::Array{Float64,3}, ::AxisArrays.AxisArray{Float64,3,Array{Float64,3},Tuple{AxisArrays.Axis{:x,Base.OneTo{Int64}},AxisArrays.Axis{:y,Base.OneTo{Int64}},AxisArrays.Axis{:z,Base.OneTo{Int64}}}}) at ./reducedim.jl:229
in mapreducedim! at ./reducedim.jl:237 [inlined]
in mapreducedim at ./reducedim.jl:268 [inlined]
in maximum at ./reducedim.jl:318 [inlined]
in maximum(::AxisArrays.AxisArray{Float64,3,Array{Float64,3},Tuple{AxisArrays.Axis{:x,Base.OneTo{Int64}},AxisArrays.Axis{:y,Base.OneTo{Int64}},AxisArrays.Axis{:z,Base.OneTo{Int64}}}}, ::Int64) at ./reducedim.jl:320
Interestingly its two different errors. I don't know what the parent is supposed to do but it was proposed in #56 by @timholy. It seems that parent is the identity for AxisArrays
Metadata
Metadata
Assignees
Labels
No labels