Skip to content

Commit ad7af51

Browse files
committed
additional tests for type stability
1 parent 2867c8a commit ad7af51

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

test/runtests.jl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -889,26 +889,26 @@ include("testsetup.jl")
889889
# This tests the _vstore_unroll! methods that were added for W=1
890890
A = zeros(5, 5)
891891
GC.@preserve A begin
892-
sp = stridedpointer(A)
892+
sp = @inferred stridedpointer(A)
893893
# Create a nested VecUnroll with W=1 (scalars instead of Vec{1,T})
894-
inner_vu1 = VectorizationBase.VecUnroll((1.0, 2.0, 3.0, 4.0, 5.0))
895-
inner_vu2 = VectorizationBase.VecUnroll((6.0, 7.0, 8.0, 9.0, 10.0))
896-
inner_vu3 = VectorizationBase.VecUnroll((11.0, 12.0, 13.0, 14.0, 15.0))
897-
inner_vu4 = VectorizationBase.VecUnroll((16.0, 17.0, 18.0, 19.0, 20.0))
898-
inner_vu5 = VectorizationBase.VecUnroll((21.0, 22.0, 23.0, 24.0, 25.0))
899-
outer_vu = VectorizationBase.VecUnroll((inner_vu1, inner_vu2, inner_vu3, inner_vu4, inner_vu5))
894+
inner_vu1 = @inferred VectorizationBase.VecUnroll((1.0, 2.0, 3.0, 4.0, 5.0))
895+
inner_vu2 = @inferred VectorizationBase.VecUnroll((6.0, 7.0, 8.0, 9.0, 10.0))
896+
inner_vu3 = @inferred VectorizationBase.VecUnroll((11.0, 12.0, 13.0, 14.0, 15.0))
897+
inner_vu4 = @inferred VectorizationBase.VecUnroll((16.0, 17.0, 18.0, 19.0, 20.0))
898+
inner_vu5 = @inferred VectorizationBase.VecUnroll((21.0, 22.0, 23.0, 24.0, 25.0))
899+
outer_vu = @inferred VectorizationBase.VecUnroll((inner_vu1, inner_vu2, inner_vu3, inner_vu4, inner_vu5))
900900

901901
# Verify the type structure: VecUnroll{4, 1, Float64, VecUnroll{4, 1, Float64, Float64}}
902902
@test outer_vu isa VectorizationBase.VecUnroll{4,1,Float64,<:VectorizationBase.VecUnroll{4,1,Float64,Float64}}
903903

904904
# Create nested Unroll index for _vstore_unroll!
905905
# The Unroll type parameters are: AU (axis of unroll), F (step), N (count), AV (axis of vectorization), W (vector width), M (mask), X (extra)
906-
inner_unroll = VectorizationBase.Unroll{2,1,5,1,1,UInt(0),1}(StaticInt(0))
907-
outer_unroll = VectorizationBase.Unroll{1,1,5,1,1,UInt(0),1}(inner_unroll)
906+
inner_unroll = @inferred VectorizationBase.Unroll{2,1,5,1,1,UInt(0),1}(StaticInt(0))
907+
outer_unroll = @inferred VectorizationBase.Unroll{1,1,5,1,1,UInt(0),1}(inner_unroll)
908908

909909
# Call _vstore_unroll! directly - this is what was failing in Issue #543
910910
# We use similar_no_offset to get a pointer suitable for _vstore_unroll!
911-
sptr = VectorizationBase.similar_no_offset(sp, pointer(A))
911+
sptr = @inferred VectorizationBase.similar_no_offset(sp, pointer(A))
912912
VectorizationBase._vstore_unroll!(sptr, outer_vu, outer_unroll,
913913
VectorizationBase.False(), VectorizationBase.False(), VectorizationBase.False(),
914914
VectorizationBase.register_size(), StaticInt(8))
@@ -922,13 +922,13 @@ include("testsetup.jl")
922922
for n in [3, 4, 5, 6, 7, 8]
923923
B = zeros(n, n)
924924
GC.@preserve B begin
925-
sp = stridedpointer(B)
925+
sp = @inferred stridedpointer(B)
926926
# Create nested VecUnroll with n elements
927927
inner_vus = ntuple(i -> VectorizationBase.VecUnroll(ntuple(j -> Float64((i-1)*n + j), n)), n)
928-
outer_vu = VectorizationBase.VecUnroll(inner_vus)
928+
outer_vu = @inferred VectorizationBase.VecUnroll(inner_vus)
929929

930-
inner_unroll = VectorizationBase.Unroll{2,1,n,1,1,UInt(0),1}(StaticInt(0))
931-
outer_unroll = VectorizationBase.Unroll{1,1,n,1,1,UInt(0),1}(inner_unroll)
930+
inner_unroll = @inferred VectorizationBase.Unroll{2,1,n,1,1,UInt(0),1}(StaticInt(0))
931+
outer_unroll = @inferred VectorizationBase.Unroll{1,1,n,1,1,UInt(0),1}(inner_unroll)
932932

933933
sptr = VectorizationBase.similar_no_offset(sp, pointer(B))
934934
VectorizationBase._vstore_unroll!(sptr, outer_vu, outer_unroll,

0 commit comments

Comments
 (0)