Mercurial > repos > public > sbplib_julia
diff sbpD2.jl @ 84:48079bd39969
Change to using tuples in stencils and ops
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 25 Jan 2019 15:20:40 +0100 |
parents | 8c4cfa680e5a |
children | 8d505e9bc715 c0729ade65da |
line wrap: on
line diff
--- a/sbpD2.jl Thu Jan 24 13:33:07 2019 +0100 +++ b/sbpD2.jl Fri Jan 25 15:20:40 2019 +0100 @@ -26,10 +26,10 @@ even = 1 end -struct D2{T} <: ConstantStencilOperator +struct D2{T,N,M,K} <: ConstantStencilOperator quadratureClosure::Vector{T} - innerStencil::Stencil - closureStencils::Vector{Stencil} # TBD: Should this be a tuple? + innerStencil::Stencil{T,N} + closureStencils::NTuple{M, Stencil{T,K}} eClosure::Vector{T} dClosure::Vector{T} parity::Parity @@ -48,7 +48,7 @@ width = length(innerStencilWeights) r = (-div(width,2), div(width,2)) - innerStencil = Stencil(r, innerStencilWeights) + innerStencil = Stencil(r, Tuple(innerStencilWeights)) # Create boundary stencils boundarySize = length(d["boundary_stencils"]) @@ -58,7 +58,7 @@ stencilWeights = stringToVector(Float64, d["boundary_stencils"][i]) width = length(stencilWeights) r = (1-i,width-i) - push!(closureStencils,Stencil(r, stencilWeights)) + closureStencils = (closureStencils..., Stencil(r, Tuple(stencilWeights))) end d2 = D2(