changeset 1435:29adc06e5b56 feature/grids/curvilinear

Merge bugfix/grids/tensor_grid_length
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 07 Sep 2023 16:49:45 +0200
parents af73340a8f0e (current diff) 48e16efaac7a (diff)
children 433245fd33c0
files src/Grids/tensor_grid.jl
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/Grids/tensor_grid.jl	Thu Sep 07 09:03:07 2023 +0200
+++ b/src/Grids/tensor_grid.jl	Thu Sep 07 16:49:45 2023 +0200
@@ -46,7 +46,7 @@
 
 Base.IteratorSize(::Type{<:TensorGrid{<:Any, D}}) where D = Base.HasShape{D}()
 Base.eltype(::Type{<:TensorGrid{T}}) where T = T
-Base.length(g::TensorGrid) = sum(length, g.grids)
+Base.length(g::TensorGrid) = prod(length, g.grids)
 Base.size(g::TensorGrid) = LazyTensors.concatenate_tuples(size.(g.grids)...)
 
 
--- a/test/Grids/tensor_grid_test.jl	Thu Sep 07 09:03:07 2023 +0200
+++ b/test/Grids/tensor_grid_test.jl	Thu Sep 07 16:49:45 2023 +0200
@@ -91,6 +91,12 @@
         @test size(TensorGrid(g₁, g₄)) == (11,)
         @test size(TensorGrid(g₁, g₄, g₂)) == (11,6)
 
+        @test length(TensorGrid(g₁, g₂)) == 66
+        @test length(TensorGrid(g₁, g₃)) == 110
+        @test length(TensorGrid(g₁, g₂, g₃)) == 660
+        @test length(TensorGrid(g₁, g₄)) == 11
+        @test length(TensorGrid(g₁, g₄, g₂)) == 66
+
         @test Base.IteratorSize(TensorGrid(g₁, g₂)) == Base.HasShape{2}()
         @test Base.IteratorSize(TensorGrid(g₁, g₃)) == Base.HasShape{2}()
         @test Base.IteratorSize(TensorGrid(g₁, g₂, g₃)) == Base.HasShape{3}()