diff src/Grids/tensor_grid.jl @ 1390:47931bef8471 bugfix/grids/complete_interface_impl

Implement `firstindex` and `lastindex` for `TensorGrid`
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 15 Aug 2023 22:39:34 +0200
parents c0208286234e
children 9da927271752
line wrap: on
line diff
--- a/src/Grids/tensor_grid.jl	Tue Aug 15 22:38:48 2023 +0200
+++ b/src/Grids/tensor_grid.jl	Tue Aug 15 22:39:34 2023 +0200
@@ -33,6 +33,16 @@
     return CartesianIndices(szs)
 end
 
+function Base.firstindex(g::TensorGrid, d)
+    i, ld = grid_and_local_dim_index(ndims.(g.grids), d)
+    return firstindex(g.grids[i], ld)
+end
+
+function Base.lastindex(g::TensorGrid, d)
+    i, ld = grid_and_local_dim_index(ndims.(g.grids), d)
+    return lastindex(g.grids[i], ld)
+end
+
 # Iteration interface
 Base.iterate(g::TensorGrid) = iterate(Iterators.product(g.grids...)) |> _iterate_combine_coords
 Base.iterate(g::TensorGrid, state) = iterate(Iterators.product(g.grids...), state) |> _iterate_combine_coords