Mercurial > repos > public > sbplib_julia
comparison src/Grids/equidistant_grid.jl @ 1248:a5f2372d0e87 refactor/grids
Add argument checking to equdistant_grid
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Wed, 22 Feb 2023 12:42:08 +0100 |
| parents | 2abec782cf5b |
| children | 215f36712332 |
comparison
equal
deleted
inserted
replaced
| 1247:2abec782cf5b | 1248:a5f2372d0e87 |
|---|---|
| 92 completely integer grid, `equidistant_grid` will still return a floating point | 92 completely integer grid, `equidistant_grid` will still return a floating point |
| 93 grid. This simlifies the implementation and avoids certain surprise | 93 grid. This simlifies the implementation and avoids certain surprise |
| 94 behaviours. | 94 behaviours. |
| 95 """ | 95 """ |
| 96 function equidistant_grid(size::Dims, limit_lower, limit_upper) | 96 function equidistant_grid(size::Dims, limit_lower, limit_upper) |
| 97 if any(size .<= 0) | |
| 98 throw(DomainError("all components of size must be postive")) | |
| 99 end | |
| 100 | |
| 101 if any(limit_upper.-limit_lower .<= 0) | |
| 102 throw(DomainError("all side lengths must be postive")) | |
| 103 end | |
| 104 | |
| 97 gs = map(size, limit_lower, limit_upper) do s,l,u | 105 gs = map(size, limit_lower, limit_upper) do s,l,u |
| 98 EquidistantGrid(range(l, u, length=s)) # TBD: Should it use LinRange instead? | 106 EquidistantGrid(range(l, u, length=s)) # TBD: Should it use LinRange instead? |
| 99 end | 107 end |
| 100 | 108 |
| 101 return TensorGrid(gs...) | 109 return TensorGrid(gs...) |
