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