Skip to content

Commit

Permalink
fix permutdims for dimension arguments (#359)
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaqz authored Jan 16, 2024
1 parent dd03663 commit bf31279
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/Cubes/Cubes.jl
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,11 @@ end
Base.ndims(a::YAXArray{<:Any,N}) where {N} = N
Base.eltype(a::YAXArray{T}) where {T} = T
function Base.permutedims(c::YAXArray, p)
newaxes = caxes(c)[collect(p)]
newchunks = DiskArrays.GridChunks(eachchunk(c).chunks[collect(p)])
YAXArray(newaxes, permutedims(getdata(c), p), c.properties, newchunks, c.cleaner)
newdims = DD.sortdims(DD.dims(c), Tuple(p))
dimnums = map(d -> DD.dimnum(c, d), p)
newdata = permutedims(getdata(c), dimnums)
newchunks = DiskArrays.GridChunks(eachchunk(c).chunks[collect(dimnums)])
YAXArray(newdims, newdata, c.properties, newchunks, c.cleaner)
end

# DimensionalData overloads
Expand All @@ -197,6 +199,9 @@ function DD.rebuild(A::YAXArray, data::AbstractArray, dims::Tuple, refdims::Tupl
#end
YAXArray(dims, data, metadata; cleaner=A.cleaner)#, chunks=GridChunks(chunks))
end
function DD.rebuild(A::YAXArray; data=parent(A), dims=dims(A), metadata=DD.metadata(A), kw...)
YAXArray(dims, data, metadata; cleaner=A.cleaner)
end

function caxes(x)
#@show x
Expand Down

0 comments on commit bf31279

Please sign in to comment.