comparison test/SbpOperators/stencil_test.jl @ 1452:4f79ab676ebc bugfix/sbp_operators/stencil_return_type

Fix broken tests using sum(f,...). Needs to be evaluated for performance
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 24 Nov 2023 21:56:40 +0100
parents d744b01be520
children 471a948cd2b2
comparison
equal deleted inserted replaced
1446:d744b01be520 1452:4f79ab676ebc
70 @test apply_stencil(s,v, 2) isa Float64 70 @test apply_stencil(s,v, 2) isa Float64
71 @test apply_stencil_backwards(s,v, 3) isa Float64 71 @test apply_stencil_backwards(s,v, 3) isa Float64
72 72
73 v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]] 73 v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]]
74 s = Stencil(1,2, center = 1) 74 s = Stencil(1,2, center = 1)
75 @test_broken apply_stencil(s,v,1) == @SVector[7, 10] 75 @test apply_stencil(s,v,1) == @SVector[7, 10]
76 @test_broken apply_stencil_backwards(s,v,3) == @SVector[11, 14] 76 @test apply_stencil_backwards(s,v,3) == @SVector[11, 14]
77 @test_broken apply_stencil(s,v,1) isa SVector{2, Int} 77 @test apply_stencil(s,v,1) isa SVector{2, Int}
78 @test_broken apply_stencil_backwards(s,v,3) isa SVector{2, Int} 78 @test apply_stencil_backwards(s,v,3) isa SVector{2, Int}
79 79
80 v = [@SVector[1., 2.], @SVector[3., 4.], @SVector[5., 6.], @SVector[7., 8.]] 80 v = [@SVector[1., 2.], @SVector[3., 4.], @SVector[5., 6.], @SVector[7., 8.]]
81 s = Stencil(1,2, center = 1) 81 s = Stencil(1,2, center = 1)
82 @test_broken apply_stencil(s,v,1) == @SVector[7., 10.] 82 @test apply_stencil(s,v,1) == @SVector[7., 10.]
83 @test_broken apply_stencil_backwards(s,v,3) == @SVector[11., 14.] 83 @test apply_stencil_backwards(s,v,3) == @SVector[11., 14.]
84 @test_broken apply_stencil(s,v,1) isa SVector{2, Float64} 84 @test apply_stencil(s,v,1) isa SVector{2, Float64}
85 @test_broken apply_stencil_backwards(s,v,3) isa SVector{2, Float64} 85 @test apply_stencil_backwards(s,v,3) isa SVector{2, Float64}
86 86
87 v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]] 87 v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]]
88 s = Stencil(1.,2., center = 1) 88 s = Stencil(1.,2., center = 1)
89 @test_broken apply_stencil(s,v,1) == @SVector[7., 10.] 89 @test apply_stencil(s,v,1) == @SVector[7., 10.]
90 @test_broken apply_stencil_backwards(s,v,3) == @SVector[11., 14.] 90 @test apply_stencil_backwards(s,v,3) == @SVector[11., 14.]
91 @test_broken apply_stencil(s,v,1) isa SVector{2, Float64} 91 @test apply_stencil(s,v,1) isa SVector{2, Float64}
92 @test_broken apply_stencil_backwards(s,v,3) isa SVector{2, Float64} 92 @test apply_stencil_backwards(s,v,3) isa SVector{2, Float64}
93 end 93 end
94 94
95 @testset "type stability" begin 95 @testset "type stability" begin
96 s_int = CenteredStencil(1,2,3) 96 s_int = CenteredStencil(1,2,3)
97 s_float = CenteredStencil(1.,2.,3.) 97 s_float = CenteredStencil(1.,2.,3.)
218 218
219 # Arrays of vectors 219 # Arrays of vectors
220 ns = NestedStencil((-1.,1.,0.),(-1.,0.,1.),(0.,-2.,2.), center=2) 220 ns = NestedStencil((-1.,1.,0.),(-1.,0.,1.),(0.,-2.,2.), center=2)
221 c = [ 1, 3, 6, 10] 221 c = [ 1, 3, 6, 10]
222 v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]] 222 v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]]
223 @test_broken SbpOperators.apply_stencil(ns, c, v, 2) isa SVector{2,Float64} 223 @test SbpOperators.apply_stencil(ns, c, v, 2) isa SVector{2,Float64}
224 @test_broken SbpOperators.apply_stencil(ns, c, v, 2) == 2v[1] + 5v[2] + 6v[3] 224 @test SbpOperators.apply_stencil(ns, c, v, 2) == 2v[1] + 5v[2] + 6v[3]
225 @test_broken SbpOperators.apply_stencil_backwards(ns, c, v, 2) isa SVector{2,Float64} 225 @test SbpOperators.apply_stencil_backwards(ns, c, v, 2) isa SVector{2,Float64}
226 @test_broken SbpOperators.apply_stencil_backwards(ns, c, v, 2) == -4v[1] - 5v[2] - 3v[3] 226 @test SbpOperators.apply_stencil_backwards(ns, c, v, 2) == -4v[1] - 5v[2] - 3v[3]
227 end 227 end
228 228
229 @testset "type stability" begin 229 @testset "type stability" begin
230 s_int = CenteredNestedStencil((1,2,3),(1,2,3),(1,2,3)) 230 s_int = CenteredNestedStencil((1,2,3),(1,2,3),(1,2,3))
231 s_float = CenteredNestedStencil((1.,2.,3.),(1.,2.,3.),(1.,2.,3.)) 231 s_float = CenteredNestedStencil((1.,2.,3.),(1.,2.,3.),(1.,2.,3.))