Skip to content

Commit 2245221

Browse files
fix sum(da; dims = :notadim) (#1116)
* move _astuple to fix sum(da; dims = :notadim) * add tests for no op reductions
1 parent c77907e commit 2245221

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/array/methods.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ for (m, f) in ((:Base, :sum), (:Base, :prod), (:Base, :maximum), (:Base, :minimu
1818
# Local dispatch methods
1919
# - Return a reduced DimArray
2020
@inline function $_f(A::AbstractDimArray, dims; kw...)
21-
ds = _astuple(DD.dims(A, dims)) # Need to remove unused dims before `dimnum`
21+
ds = DD.dims(A, _astuple(dims)) # Need to remove unused dims before `dimnum`
2222
rebuild(A, $m.$f(parent(A); dims=dimnum(A, ds), kw...), reducedims(A, ds))
2323
end
2424
@inline function $_f(f, A::AbstractDimArray, dims; kw...)
25-
ds = _astuple(DD.dims(A, dims)) # Need to remove unused dims before `dimnum`
25+
ds = DD.dims(A, _astuple(dims)) # Need to remove unused dims before `dimnum`
2626
rebuild(A, $m.$f(f, parent(A); dims=dimnum(A, ds), kw...), reducedims(A, ds))
2727
end
2828
# - Return a scalar

test/methods.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ end
6767
@test sum(da; dims=:) == 10
6868
@test sum(x -> 2x, da; dims=:) == 20
6969

70+
@test sum(da; dims = 5) == sum(da; dims = :notadim) ==
71+
sum(da; dims = (:notadim,)) == da
72+
@test maximum(da; dims = 5) == maximum(da; dims = :notadim) ==
73+
maximum(da; dims = (:notadim,)) == da
74+
7075
a = [1 2; 3 4]
7176
dimz = X(143:2:145), Y(-38:2:-36)
7277
da = DimArray(a, dimz)

0 commit comments

Comments
 (0)