changeset 1443:f217c6167952

Merge bugfix/grids/tensor_grid_length
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 22 Nov 2023 17:52:03 +0100
parents 28bd0ea7ee92 (current diff) fef23bf35c68 (diff)
children c779af4d02e5 0322c181a1cd 455e6b4c8b02 869a40cda18c
files
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:52:03 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:52:03 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}()