@@ -131,11 +131,8 @@ HCAT(A::AbstractOperator) = A
131131 else
132132 # stacked operator
133133 # build mul!(y, H.A[1],( b[H.idxs[1][1]], b[H.idxs[1][2]] ... ))
134- bb = " "
135- for ii in eachindex (fieldnames (fieldtype (P,1 )))
136- bb *= " b[H.idxs[1][$ii ]],"
137- end
138- bb = Meta. parse (bb)
134+ bb = [ :(b[H. idxs[1 ][$ ii]]) for ii in eachindex (fieldnames (fieldtype (P,1 )))]
135+ bb = :( tuple ($ (bb... )) )
139136 end
140137 ex = :($ ex; mul! (y,H. A[1 ],$ bb)) # write on y
141138
@@ -148,11 +145,8 @@ HCAT(A::AbstractOperator) = A
148145 else
149146 # stacked operator
150147 # build mul!(H.buf, H.A[i],( b[H.idxs[i][1]], b[H.idxs[i][2]] ... ))
151- bb = " "
152- for ii in eachindex (fieldnames (fieldtype (P,i)))
153- bb *= " b[H.idxs[$i ][$ii ]],"
154- end
155- bb = Meta. parse (bb)
148+ bb = [ :( b[H. idxs[$ i][$ ii]] ) for ii in eachindex (fieldnames (fieldtype (P,i)))]
149+ bb = :( tuple ( $ (bb... ) ) )
156150 end
157151
158152 ex = :($ ex; mul! (H. buf,H. A[$ i],$ bb)) # write on H.buf
185179 else
186180 # stacked operator
187181 # build mul!(( y[H.idxs[i][1]], y[H.idxs[i][2]] ... ), H.A[i]', b)
188- yy = " "
189- for ii in eachindex (fieldnames (fieldtype (P,i)))
190- yy *= " y[H.idxs[$i ][$ii ]],"
191- end
192- yy = Meta. parse (yy)
182+ yy = [ :(y[H. idxs[$ i][$ ii]]) for ii in eachindex (fieldnames (fieldtype (P,i)))]
183+ yy = :(tuple ( $ (yy... ) ) )
193184 end
194185
195186 ex = :($ ex; mul! ($ yy,H. A[$ i]' ,b))
208199 if fieldtype (P,1 ) <: Int
209200 bb = :(b[H. idxs[1 ]])
210201 else
211- bb = " "
212- for ii in eachindex (fieldnames (fieldtype (P,1 )))
213- bb *= " b[H.idxs[1][$ii ]],"
214- end
215- bb = Meta. parse (bb)
202+ bb = [ :(b[H. idxs[1 ][$ ii]]) for ii in eachindex (fieldnames (fieldtype (P,1 )))]
203+ bb = :( tuple ( $ (bb... ) ) )
216204 end
217205 ex = :($ ex; mul! (y,H. A[1 ],$ bb))
218206
222210 if fieldtype (P,i) <: Int
223211 bb = :(b[H. idxs[$ i]])
224212 else
225- bb = " "
226- for ii in eachindex (fieldnames (fieldtype (P,i)))
227- bb *= " b[H.idxs[$i ][$ii ]],"
228- end
229- bb = Meta. parse (bb)
213+ bb = [ :(b[H. idxs[$ i][$ ii]]) for ii in eachindex (fieldnames (fieldtype (P,i))) ]
214+ bb = :( tuple ( $ (bb... ) ) )
230215 end
231216
232217 ex = :($ ex; mul! (H. buf,H. A[$ i],$ bb))
257242 if fieldtype (P,i) <: Int
258243 yy = :(y[H. idxs[$ i]])
259244 else
260- yy = " "
261- for ii in eachindex (fieldnames (fieldtype (P,i)))
262- yy *= " y[H.idxs[$i ][$ii ]],"
263- end
264- yy = Meta. parse (yy)
245+ yy = [ :(y[H. idxs[$ i][$ ii]]) for ii in eachindex (fieldnames (fieldtype (P,i)))]
246+ yy = :( tuple ( $ (yy... ) ) )
265247 end
266248
267249 ex = :($ ex; mul! ($ yy,H. A[$ i]' ,b))
0 commit comments