Mercurial > repos > public > sbplib_julia
changeset 1446:d744b01be520 bugfix/sbp_operators/stencil_return_type
Add broken tests for applying stencils to vectors of vectors
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 24 Nov 2023 21:49:07 +0100 |
parents | 76a121ee7b80 |
children | 6baed7b081f2 4f79ab676ebc e1222fbb7c4d c10c6c3e9247 f13857f37b8f 46a1ad30f861 |
files | test/SbpOperators/stencil_test.jl |
diffstat | 1 files changed, 31 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
diff -r 76a121ee7b80 -r d744b01be520 test/SbpOperators/stencil_test.jl --- a/test/SbpOperators/stencil_test.jl Fri Nov 24 21:23:41 2023 +0100 +++ b/test/SbpOperators/stencil_test.jl Fri Nov 24 21:49:07 2023 +0100 @@ -1,5 +1,6 @@ using Test using Sbplib.SbpOperators +using StaticArrays import Sbplib.SbpOperators.Stencil import Sbplib.SbpOperators.NestedStencil import Sbplib.SbpOperators.scale @@ -68,6 +69,27 @@ @test apply_stencil_backwards(s,v, 3) == 4*v[1] + 3*v[2] + 2*v[3] + 1*v[4] @test apply_stencil(s,v, 2) isa Float64 @test apply_stencil_backwards(s,v, 3) isa Float64 + + v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]] + s = Stencil(1,2, center = 1) + @test_broken apply_stencil(s,v,1) == @SVector[7, 10] + @test_broken apply_stencil_backwards(s,v,3) == @SVector[11, 14] + @test_broken apply_stencil(s,v,1) isa SVector{2, Int} + @test_broken apply_stencil_backwards(s,v,3) isa SVector{2, Int} + + v = [@SVector[1., 2.], @SVector[3., 4.], @SVector[5., 6.], @SVector[7., 8.]] + s = Stencil(1,2, center = 1) + @test_broken apply_stencil(s,v,1) == @SVector[7., 10.] + @test_broken apply_stencil_backwards(s,v,3) == @SVector[11., 14.] + @test_broken apply_stencil(s,v,1) isa SVector{2, Float64} + @test_broken apply_stencil_backwards(s,v,3) isa SVector{2, Float64} + + v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]] + s = Stencil(1.,2., center = 1) + @test_broken apply_stencil(s,v,1) == @SVector[7., 10.] + @test_broken apply_stencil_backwards(s,v,3) == @SVector[11., 14.] + @test_broken apply_stencil(s,v,1) isa SVector{2, Float64} + @test_broken apply_stencil_backwards(s,v,3) isa SVector{2, Float64} end @testset "type stability" begin @@ -193,6 +215,15 @@ @test SbpOperators.apply_stencil(ns, c, v, 4) == 193. @test SbpOperators.apply_stencil_backwards(ns, c, v, 4) isa Float64 @test SbpOperators.apply_stencil_backwards(ns, c, v, 4) == -158. + + # Arrays of vectors + ns = NestedStencil((-1.,1.,0.),(-1.,0.,1.),(0.,-2.,2.), center=2) + c = [ 1, 3, 6, 10] + v = [@SVector[1, 2], @SVector[3, 4], @SVector[5, 6], @SVector[7, 8]] + @test_broken SbpOperators.apply_stencil(ns, c, v, 2) isa SVector{2,Float64} + @test_broken SbpOperators.apply_stencil(ns, c, v, 2) == 2v[1] + 5v[2] + 6v[3] + @test_broken SbpOperators.apply_stencil_backwards(ns, c, v, 2) isa SVector{2,Float64} + @test_broken SbpOperators.apply_stencil_backwards(ns, c, v, 2) == -4v[1] - 5v[2] - 3v[3] end @testset "type stability" begin