@@ -150,6 +150,21 @@ using LoopVectorization, OffsetArrays, Test
150
150
end
151
151
H
152
152
end
153
+
154
+ function issue! (output, input, idx)
155
+ @turbo for j in axes (output, 2 ), i in axes (output, 1 )
156
+ output[i, j, idx] = input[1 , 1 , i, j, idx]
157
+ end
158
+ output
159
+ end
160
+
161
+ function issue_plain! (output, input, idx)
162
+ for j in axes (output, 2 ), i in axes (output, 1 )
163
+ output[i, j, idx] = input[1 , 1 , i, j, idx]
164
+ end
165
+ output
166
+ end
167
+
153
168
154
169
for T ∈ (Float32, Float64, Int32, Int64)
155
170
@show T, @__LINE__
@@ -229,8 +244,13 @@ using LoopVectorization, OffsetArrays, Test
229
244
@test copyselfdot! (y, x) ≈ x[1 ]^ 2 + x[2 ]^ 2
230
245
@test view (x, 1 : 2 ) == view (y, 1 : 2 )
231
246
232
- H0 = zeros (10 ,10 ); H1 = zeros (10 ,10 );
233
- j = [1 ,2 ,5 ,8 ]; a = rand (10 );
247
+ H0 = zeros (T, 10 ,10 ); H1 = zeros (T, 10 ,10 );
248
+ j = [1 ,2 ,5 ,8 ]; a = rand (R, 10 );
234
249
@test scattercopyavx! (H0, a, j) == scattercopy! (H1, a, j)
250
+
251
+ input = rand (R, 2 , 2 , 5 , 5 , 1 ); output = Array {T} (undef, size (input)[3 : end ]. .. ); output_plain = similar (output);
252
+
253
+ @test issue! (output, input, 1 ) ≈ issue_plain! (output_plain, input, 1 )
254
+
235
255
end
236
256
end
0 commit comments