Mercurial > repos > public > sbplib_julia
changeset 238:d56bf288b3be boundary_conditions
Add boundschecks for boundary operators
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 26 Jun 2019 20:01:10 +0200 |
parents | 1c6afdcfd657 |
children | 60011a10e17d |
files | SbpOperators/src/SbpOperators.jl |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/SbpOperators/src/SbpOperators.jl Wed Jun 26 19:51:36 2019 +0200 +++ b/SbpOperators/src/SbpOperators.jl Wed Jun 26 20:01:10 2019 +0200 @@ -103,19 +103,31 @@ function apply_e(op::D2, v::AbstractVector, ::Type{Lower}) + @boundscheck if length(v) < closureSize(op) + throw(BoundsError()) + end apply(op.eClosure,v,1) end function apply_e(op::D2, v::AbstractVector, ::Type{Upper}) + @boundscheck if length(v) < closureSize(op) + throw(BoundsError()) + end apply(flip(op.eClosure),v,length(v)) end function apply_d(op::D2, h_inv::Real, v::AbstractVector, ::Type{Lower}) + @boundscheck if length(v) < closureSize(op) + throw(BoundsError()) + end -h_inv*apply(op.dClosure,v,1) end function apply_d(op::D2, h_inv::Real, v::AbstractVector, ::Type{Upper}) + @boundscheck if length(v) < closureSize(op) + throw(BoundsError()) + end -h_inv*apply(flip(op.dClosure),v,length(v)) end