comparison src/Grids/tensor_grid.jl @ 1349:42ecd4b3e215 refactor/grids

Add support for cartesian indices on TensorGrid
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 19 May 2023 14:53:49 +0200
parents 08f06bfacd5c
children 4d628c83987e c0208286234e
comparison
equal deleted inserted replaced
1348:279179677040 1349:42ecd4b3e215
23 Is = LazyTensors.split_tuple(I, szs) 23 Is = LazyTensors.split_tuple(I, szs)
24 ps = map((g,I)->SVector(g[I...]), g.grids, Is) 24 ps = map((g,I)->SVector(g[I...]), g.grids, Is)
25 25
26 return vcat(ps...) 26 return vcat(ps...)
27 end 27 end
28
29 Base.getindex(g::TensorGrid, I::CartesianIndex) = g[Tuple(I)...]
28 30
29 function Base.eachindex(g::TensorGrid) 31 function Base.eachindex(g::TensorGrid)
30 szs = LazyTensors.concatenate_tuples(size.(g.grids)...) 32 szs = LazyTensors.concatenate_tuples(size.(g.grids)...)
31 return CartesianIndices(szs) 33 return CartesianIndices(szs)
32 end 34 end