1
1
using LoopVectorization, OffsetArrays, Test
2
2
using LoopVectorization. VectorizationBase: StaticUnitRange
3
- T = Float64
3
+ # T = Float64
4
4
# T = Float32
5
5
6
6
@testset " OffsetArrays" begin
@@ -205,7 +205,7 @@ T = Float64
205
205
@show r
206
206
fr = first (r); lr = last (r);
207
207
kern = OffsetArray (rand (T, length (r), length (r)), r, r);
208
- out1 = OffsetArray (view (similar (A, size (A) .+ 32 ), (fr : 100 - lr) .+ 32 , (fr : 100 - lr) .+ 32 ), lr, lr); # stay away from the edges of A
208
+ out1 = OffsetArray (view (similar (A, size (A) .+ 32 ), (1 + lr : 100 - lr) .+ 32 , (1 + lr : 100 - lr) .+ 32 ), lr, lr); # stay away from the edges of A
209
209
# out1 = OffsetArray(similar(A, size(A).-2), 1, 1); # stay away from the edges of A
210
210
out2 = similar (out1); out3 = similar (out1); out4 = similar (out1);
211
211
skern = SizedOffsetMatrix {T,fr,lr,fr,lr} (parent (kern));
@@ -232,15 +232,17 @@ T = Float64
232
232
fill! (out3, NaN ); avx2douter! (out3, A, skern);
233
233
@test out1 ≈ out3
234
234
235
- fill! (out3, NaN ); avx2dunrolled! (out3, A, skern);
236
- @test out1 ≈ out3
235
+ if r == - 1 : 1
236
+ fill! (out3, NaN ); avx2dunrolled! (out3, A, skern);
237
+ @test out1 ≈ out3
237
238
238
- fill! (out3, NaN ); avx2dunrolled2x2! (out3, A, skern);
239
- @test out1 ≈ out3
240
-
241
- fill! (out3, NaN ); avx2dunrolled3x3! (out3, A, skern);
242
- @test out1 ≈ out3
239
+ fill! (out3, NaN ); avx2dunrolled2x2! (out3, A, skern);
240
+ @test out1 ≈ out3
243
241
242
+ fill! (out3, NaN ); avx2dunrolled3x3! (out3, A, skern);
243
+ @test out1 ≈ out3
244
+ end
245
+
244
246
@test avxgeneric! (out4, A, kern) ≈ out1
245
247
fill! (out4, NaN );
246
248
@test avxgeneric! (out4, A, skern) ≈ out1
0 commit comments