Mercurial > repos > public > sbplib_julia
changeset 1386:4d628c83987e refactor/grids/cartesian_indexing
Add method `getindex(::Grid,::CartesianIndex)` with a default implementation
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 26 Jul 2023 21:36:50 +0200 |
parents | 851d1e4ab3de |
children | 34753bf6e1e4 |
files | src/Grids/grid.jl src/Grids/tensor_grid.jl |
diffstat | 2 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Grids/grid.jl Thu Jun 08 15:52:22 2023 +0200 +++ b/src/Grids/grid.jl Wed Jul 26 21:36:50 2023 +0200 @@ -22,6 +22,8 @@ Base.ndims(::Grid{T,D}) where {T,D} = D Base.eltype(::Type{<:Grid{T}}) where T = T +Base.getindex(g::Grid, I::CartesianIndex) = g[Tuple(I)...] + """ coordinate_size(g)
--- a/src/Grids/tensor_grid.jl Thu Jun 08 15:52:22 2023 +0200 +++ b/src/Grids/tensor_grid.jl Wed Jul 26 21:36:50 2023 +0200 @@ -17,7 +17,7 @@ end # Indexing interface -function Base.getindex(g::TensorGrid, I...) +function Base.getindex(g::TensorGrid, I::Vararg{Int}) szs = ndims.(g.grids) Is = LazyTensors.split_tuple(I, szs) @@ -26,8 +26,6 @@ return vcat(ps...) end -Base.getindex(g::TensorGrid, I::CartesianIndex) = g[Tuple(I)...] - function Base.eachindex(g::TensorGrid) szs = LazyTensors.concatenate_tuples(size.(g.grids)...) return CartesianIndices(szs)