Skip to content

Commit 48f1a2d

Browse files
fix broadcast
1 parent f9bec73 commit 48f1a2d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/array_partition.jl

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,21 @@ add_idxs{T<:ArrayPartition}(::Type{T},expr) = :($(expr).x[i])
6666

6767
@generated function Base.broadcast!(f,A::ArrayPartition,B...)
6868
exs = ((add_idxs(B[i],:(B[$i])) for i in eachindex(B))...)
69-
res = :(for i in eachindex(A.x)
69+
:(for i in eachindex(A.x)
7070
broadcast!(f,A.x[i],$(exs...))
7171
end)
72-
res
7372
end
7473

7574
@generated function Base.broadcast(f,B::Union{Number,ArrayPartition}...)
7675
exs = ((add_idxs(B[i],:(B[$i])) for i in eachindex(B))...)
77-
res = :(for i in eachindex(A.x)
76+
arr_idx = 0
77+
for (i,b) in enumerate(B)
78+
if b <: ArrayPartition
79+
arr_idx = i
80+
break
81+
end
82+
end
83+
:(for i in eachindex(B[$arr_idx].x)
7884
broadcast(f,$(exs...))
7985
end)
80-
res
8186
end

0 commit comments

Comments
 (0)