Mercurial > repos > public > sbplib_julia
comparison index.jl @ 121:3560f54e3eb3 cell_based_test
Change implementation of getrange to be more julia(???), mostly as an experiment to see if it breakes stuff
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sun, 10 Feb 2019 19:16:14 +0100 |
parents | ebddd2a3a520 |
children | 5df4ccb19476 |
comparison
equal
deleted
inserted
replaced
120:ebddd2a3a520 | 121:3560f54e3eb3 |
---|---|
46 function regionindices(gridsize::NTuple{Dim,Integer}, closuresize::NTuple{Dim,Integer}, region::NTuple{Dim,DataType}) where Dim | 46 function regionindices(gridsize::NTuple{Dim,Integer}, closuresize::NTuple{Dim,Integer}, region::NTuple{Dim,DataType}) where Dim |
47 regions = map(getrange,gridsize,closuresize,region) | 47 regions = map(getrange,gridsize,closuresize,region) |
48 return CartesianIndices(regions) | 48 return CartesianIndices(regions) |
49 end | 49 end |
50 | 50 |
51 function getrange(gridsize::Integer, closuresize::Integer, region::Type{<:Region}) | 51 getrange(gridsize::Integer, closuresize::Integer, ::Type{Lower} ) = 1:closuresize |
52 if region == Lower | 52 getrange(gridsize::Integer, closuresize::Integer, ::Type{Interior}) = (closuresize+1):(gridsize - closuresize) |
53 r = 1:closuresize | 53 getrange(gridsize::Integer, closuresize::Integer, ::Type{Upper} ) = (gridsize - closuresize + 1):gridsize |
54 elseif region == Interior | |
55 r = (closuresize+1):(gridsize - closuresize) | |
56 elseif region == Upper | |
57 r = (gridsize - closuresize + 1):gridsize | |
58 else | |
59 error("Unspecified region") | |
60 end | |
61 return r | |
62 end |