@@ -128,7 +128,7 @@ using Tullio, Test, LinearAlgebra
128
128
@test H[1 ,:] == M[2 ,:] # but H[3,:] gets written into twice.
129
129
130
130
J′ = [1 ,2 ,10 ]
131
- @tullio H′[J′[i' ],k] := A[k] avx = false # StackOverflowError
131
+ @tullio H′[J′[i' ],k] := A[k]
132
132
@test size (H′) == (10 , length (A))
133
133
@test H′[2 ,:] == A
134
134
@test H′[3 ,4 ] == 0 # zeroed before being written into
221
221
# scatter operation
222
222
D = similar (A, 10 , 10 ) .= 999
223
223
inds = [2 ,3 ,5 ,2 ]
224
- @tullio D[inds[i],j] = A[j] avx = false # StackOverflowError
224
+ @tullio D[inds[i],j] = A[j]
225
225
@test D[2 ,:] == A
226
226
@test D[4 ,4 ] != 0 # not zeroed before writing.
227
227
410
410
@test vcat (B, fill (B[end ],5 )) == @tullio D[i] := min (A[i], B[clamp (i)])
411
411
@test [4 ,16 ,36 ,64 ,100 ,4 ] == @tullio E[i] := A[mod (2 i)] i in 1 : 6
412
412
413
- @test vcat (zeros (5 ), B, zeros (5 )) == @tullio C[i] := B[pad (i- 5 ,5 )] avx= false # 1.4
413
+ @test vcat (zeros (5 ), B, zeros (5 )) == @tullio C[i] := B[pad (i- 5 ,5 )] avx= false # no method matching _vload(::VectorizationBase.FastRange{Int64,
414
414
@test vcat (zeros (2 ), A, zeros (3 )) == @tullio D[i+ _] := A[pad (i,2 ,3 )]
415
415
@test vcat (A, zeros (10 )) == @tullio E[i] := A[pad (i)] i in 1 : 20
416
416
456
456
457
457
@test true == @tullio (& ) p := A[i] > 0
458
458
@test true === @tullio (& ) p := A[i] > 0
459
- @test true == @tullio (| ) q := A[i] > 50
459
+ @test true == @tullio (| ) q := A[i] > 50 avx = false # zero_mask not defined
460
460
461
461
# in-place
462
462
C = copy (A)
477
477
@test 200 == @tullio (max) m := A[i] init= 200
478
478
@tullio (max) C[i] := i^ 2 (i in 1 : 10 , j in 1 : 1 ) init= 33.3 # widens type
479
479
@test C == max .(33.3 , A)
480
- @tullio C[i] := 0 (i in 1 : 10 , j in 1 : 1 ) init= randn () tensor= false # runs once
480
+ @tullio C[i] := 0 (i in 1 : 10 , j in 1 : 1 ) init= randn () avx = false tensor= false # UndefVarError: ##op#1444_0__1 not defined
481
481
@test C == fill (C[1 ], 10 )
482
482
483
483
# more dimensions
@@ -513,11 +513,11 @@ end
513
513
514
514
# promotion of init & += cases:
515
515
B = rand (10 )
516
- @test sum (B.^ 2 )+ 2 ≈ @tullio s2 := B[i]^ 2 init= 2 threads= false avx = false # InexactError: Int64 on LV 0.8
516
+ @test sum (B.^ 2 )+ 2 ≈ @tullio s2 := B[i]^ 2 init= 2 threads= false
517
517
s3 = 3
518
518
@test sum (B.^ 2 )+ 3 ≈ @tullio s3 += B[i]^ 2
519
519
s4 = 4im
520
- @test sum (B.^ 2 )+ 4im ≈ @tullio s4 += B[i]^ 2 avx = false # TypeError: in AbstractSIMD, in T, expected T<:(Union{Bool, Float32
520
+ @test sum (B.^ 2 )+ 4im ≈ @tullio s4 += B[i]^ 2
521
521
522
522
# no reduction means no redfun, and no init:
523
523
@test_throws LoadError @eval @tullio (max) A2[i] := A[i]^ 2
601
601
@test_throws LoadError @eval @tullio A[i] := (1 : 10 )[i]^ 2 threads= :maybe
602
602
603
603
# keyword verbose accepts values [true, false, 2, 3]
604
- @tullio A[i] := (1 : 10 )[i]^ 2 verbose= 1 avx = false # @error: rejected by LoopVectorization's check_args
604
+ @tullio A[i] := (1 : 10 )[i]^ 2 verbose= 1
605
605
@tullio A[i] := (1 : 10 )[i]^ 2 verbose= false
606
606
@test_throws LoadError @eval @tullio A[i] := (1 : 10 )[i]^ 2 verbose= 4
607
607
0 commit comments