changeset 1822:189e69d44056 feature/grids/tensor_grid/spacing

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Sun, 20 Oct 2024 20:38:39 +0200
parents 7eb20abc4b70 (diff) 9b47cdbbba75 (current diff)
children 054447ac4b0e
files src/Grids/tensor_grid.jl test/Grids/tensor_grid_test.jl
diffstat 2 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/Grids/tensor_grid.jl	Fri Oct 18 21:18:58 2024 +0200
+++ b/src/Grids/tensor_grid.jl	Sun Oct 20 20:38:39 2024 +0200
@@ -47,6 +47,10 @@
 Base.size(g::TensorGrid) = LazyTensors.concatenate_tuples(size.(g.grids)...)
 Base.size(g::TensorGrid, d) = size(g)[d]
 
+# Review: Handle boundary grids as well?
+# spacing(boundary_grid(g,id)) fails right now with
+# MethodError: no method matching spacing(::ZeroDimGrid{Float64})
+spacing(g::TensorGrid) = spacing.(g.grids)
 
 function min_spacing(g::TensorGrid)
     relevant_grids = filter(g->!isa(g,ZeroDimGrid),g.grids)
--- a/test/Grids/tensor_grid_test.jl	Fri Oct 18 21:18:58 2024 +0200
+++ b/test/Grids/tensor_grid_test.jl	Sun Oct 20 20:38:39 2024 +0200
@@ -137,6 +137,13 @@
         @test axes(g) == (1:11,1:6)
     end
 
+    @testset "spacing" begin
+        g₁ = EquidistantGrid(range(0,1,length=11))
+        g₂ = EquidistantGrid(range(2,3,length=6))
+
+        @test spacing(TensorGrid(g₁, g₂)) == (1/10, 1/5)
+    end
+
     @testset "min_spacing" begin
         g₁ = EquidistantGrid(range(0,1,length=11))
         g₂ = EquidistantGrid(range(2,3,length=6))