changeset 1441:c0c5e0620b83 bugfix/grids/tensor_grid_length

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 22 Nov 2023 17:51:37 +0100
parents 48e16efaac7a (diff) 28bd0ea7ee92 (current diff)
children fef23bf35c68
files src/Grids/tensor_grid.jl test/Grids/tensor_grid_test.jl
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/Grids/tensor_grid.jl	Wed Nov 22 17:49:04 2023 +0100
+++ b/src/Grids/tensor_grid.jl	Wed Nov 22 17:51:37 2023 +0100
@@ -43,7 +43,7 @@
 _iterate_combine_coords((next,state)) = combine_coordinates(next...), state
 
 Base.IteratorSize(::Type{<:TensorGrid{<:Any, D}}) where D = Base.HasShape{D}()
-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)...)
 Base.size(g::TensorGrid, d) = size(g)[d]
 
--- a/test/Grids/tensor_grid_test.jl	Wed Nov 22 17:49:04 2023 +0100
+++ b/test/Grids/tensor_grid_test.jl	Wed Nov 22 17:51:37 2023 +0100
@@ -103,6 +103,12 @@
         @test size(TensorGrid(g₁, g₄, g₂),1) == 11
         @test size(TensorGrid(g₁, g₄, g₂),2) == 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}()