Mercurial > repos > public > sbplib_julia
changeset 353:8257cc75ea6b feature/equidistant_grid/subgrid
Add doc string and allow picking several dimensions
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sun, 27 Sep 2020 21:04:59 +0200 |
parents | a18bd337a280 |
children | 5c9212a8ee4f 64ad8ec0eae0 |
files | src/Grids/EquidistantGrid.jl test/testGrids.jl |
diffstat | 2 files changed, 22 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Grids/EquidistantGrid.jl Sun Sep 27 14:38:05 2020 +0200 +++ b/src/Grids/EquidistantGrid.jl Sun Sep 27 21:04:59 2020 +0200 @@ -66,7 +66,12 @@ return broadcast(I -> grid.limit_lower .+ (I.-1).*h, indices) end -function subgrid(grid::EquidistantGrid, dim::Integer) +""" + subgrid(::EquidistantGrid, dim) + +Pick out given dimensions from the grid and return a grid for them +""" +function subgrid(grid::EquidistantGrid, dim) size = grid.size[dim] limit_lower = grid.limit_lower[dim] limit_upper = grid.limit_upper[dim]
--- a/test/testGrids.jl Sun Sep 27 14:38:05 2020 +0200 +++ b/test/testGrids.jl Sun Sep 27 21:04:59 2020 +0200 @@ -4,13 +4,23 @@ @testset "Grids" begin @testset "EquidistantGrid" begin - @test EquidistantGrid(4,0,1) isa EquidistantGrid - @test dimension(EquidistantGrid(4,0,1)) == 1 - @test EquidistantGrid(4,0,1) == EquidistantGrid((4,),(0,),(1,)) + @test EquidistantGrid(4,0.0,1.0) isa EquidistantGrid + @test EquidistantGrid(4,0.0,8.0) isa EquidistantGrid + @test dimension(EquidistantGrid(4,0.0,1.0)) == 1 + @test EquidistantGrid(4,0.0,1.0) == EquidistantGrid((4,),(0.0,),(1.0,)) + + g = EquidistantGrid((5,3), (0.0,0.0), (2.0,1.0)) + @test subgrid(g, 1) == EquidistantGrid(5,0.0,2.0) + @test subgrid(g, 2) == EquidistantGrid(3,0.0,1.0) - g = EquidistantGrid((5,3), (0,0), (2,1)) - @test subgrid(g, 1) == EquidistantGrid(5,0,2) - @test subgrid(g, 2) == EquidistantGrid(3,0,1) + g = EquidistantGrid((2,5,3), (0.0,0.0,0.0), (2.0,1.0,3.0)) + @test subgrid(g, 1) == EquidistantGrid(2,0.0,2.0) + @test subgrid(g, 2) == EquidistantGrid(5,0.0,1.0) + @test subgrid(g, 3) == EquidistantGrid(3,0.0,3.0) + @test subgrid(g, 1:2) == EquidistantGrid((2,5),(0.0,0.0),(2.0,1.0)) + @test subgrid(g, 2:3) == EquidistantGrid((5,3),(0.0,0.0),(1.0,3.0)) + @test subgrid(g, [1,3]) == EquidistantGrid((2,3),(0.0,0.0),(2.0,3.0)) + @test subgrid(g, [2,1]) == EquidistantGrid((5,2),(0.0,0.0),(1.0,2.0)) end end