Skip to content

Commit 3d46884

Browse files
Merge pull request #393 from bvdmitri/dev-fix-any
fix any
2 parents 50d362c + 2d33f5f commit 3d46884

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/array_partition.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ function Base.mapreduce(f, op, A::ArrayPartition{T}; kwargs...) where {T}
169169
mapreduce(f, op, (i for i in A); kwargs...)
170170
end
171171
Base.filter(f, A::ArrayPartition) = ArrayPartition(map(x -> filter(f, x), A.x))
172-
Base.any(f, A::ArrayPartition) = any(f, (any(f, x) for x in A.x))
173-
Base.any(f::Function, A::ArrayPartition) = any(f, (any(f, x) for x in A.x))
172+
Base.any(f, A::ArrayPartition) = any((any(f, x) for x in A.x))
173+
Base.any(f::Function, A::ArrayPartition) = any((any(f, x) for x in A.x))
174174
Base.any(A::ArrayPartition) = any(identity, A)
175175
Base.all(f, A::ArrayPartition) = all(f, (all(f, x) for x in A.x))
176176
Base.all(f::Function, A::ArrayPartition) = all((all(f, x) for x in A.x))

test/partitions_test.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,26 @@ y = ArrayPartition(ArrayPartition([1], [2.0]), ArrayPartition([3], [4.0]))
136136
@inferred mapreduce(string, *, x)
137137
@test mapreduce(i -> string(i) * "q", *, x) == "1q2q3.0q4.0q"
138138

139+
# any
140+
@test !any(isnan, ArrayPartition([1, 2], [3.0, 4.0]))
141+
@test !any(isnan, ArrayPartition([3.0, 4.0]))
142+
@test any(isnan, ArrayPartition([NaN], [3.0, 4.0]))
143+
@test any(isnan, ArrayPartition([NaN]))
144+
@test any(isnan, ArrayPartition(ArrayPartition([NaN])))
145+
@test any(isnan, ArrayPartition([2], [NaN]))
146+
@test any(isnan, ArrayPartition([2], ArrayPartition([NaN])))
147+
148+
# all
149+
@test !all(isnan, ArrayPartition([1, 2], [3.0, 4.0]))
150+
@test !all(isnan, ArrayPartition([3.0, 4.0]))
151+
@test !all(isnan, ArrayPartition([NaN], [3.0, 4.0]))
152+
@test all(isnan, ArrayPartition([NaN]))
153+
@test all(isnan, ArrayPartition(ArrayPartition([NaN])))
154+
@test !all(isnan, ArrayPartition([2], [NaN]))
155+
@test all(isnan, ArrayPartition([NaN], [NaN]))
156+
@test all(isnan, ArrayPartition([NaN], ArrayPartition([NaN])))
157+
158+
139159
# broadcasting
140160
_scalar_op(y) = y + 1
141161
# Can't do `@inferred(_scalar_op.(x))` so we wrap that in a function:

0 commit comments

Comments
 (0)