Mercurial > repos > public > sbplib_julia
comparison src/Grids/tensor_grid.jl @ 1646:5f348cc5598e feature/grids/min_spacing
Add min_spacing function for grids
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 26 Jun 2024 11:30:38 +0200 |
parents | b459082533f7 |
children | 51f0c5f895fb 471a948cd2b2 |
comparison
equal
deleted
inserted
replaced
1643:e551fe1fff14 | 1646:5f348cc5598e |
---|---|
45 Base.IteratorSize(::Type{<:TensorGrid{<:Any, D}}) where D = Base.HasShape{D}() | 45 Base.IteratorSize(::Type{<:TensorGrid{<:Any, D}}) where D = Base.HasShape{D}() |
46 Base.length(g::TensorGrid) = prod(length, g.grids) | 46 Base.length(g::TensorGrid) = prod(length, g.grids) |
47 Base.size(g::TensorGrid) = LazyTensors.concatenate_tuples(size.(g.grids)...) | 47 Base.size(g::TensorGrid) = LazyTensors.concatenate_tuples(size.(g.grids)...) |
48 Base.size(g::TensorGrid, d) = size(g)[d] | 48 Base.size(g::TensorGrid, d) = size(g)[d] |
49 | 49 |
50 | |
51 function min_spacing(g::TensorGrid) | |
52 relevant_grids = filter(g->!isa(g,ZeroDimGrid),g.grids) | |
53 d = min_spacing.(relevant_grids) | |
54 return minimum(d) | |
55 end | |
50 | 56 |
51 refine(g::TensorGrid, r::Int) = mapreduce(g->refine(g,r), TensorGrid, g.grids) | 57 refine(g::TensorGrid, r::Int) = mapreduce(g->refine(g,r), TensorGrid, g.grids) |
52 coarsen(g::TensorGrid, r::Int) = mapreduce(g->coarsen(g,r), TensorGrid, g.grids) | 58 coarsen(g::TensorGrid, r::Int) = mapreduce(g->coarsen(g,r), TensorGrid, g.grids) |
53 | 59 |
54 """ | 60 """ |