Mercurial > repos > public > sbplib_julia
changeset 299:27a0bca5e1f2
Add apply_transpose and fix minor issues
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Tue, 23 Jun 2020 17:31:50 +0200 |
parents | a0ec3cb6a65b |
children | b00eea62c78e |
files | SbpOperators/src/laplace/secondderivative.jl |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/SbpOperators/src/laplace/secondderivative.jl Mon Jun 22 23:22:08 2020 +0200 +++ b/SbpOperators/src/laplace/secondderivative.jl Tue Jun 23 17:31:50 2020 +0200 @@ -18,10 +18,12 @@ LazyTensors.domain_size(D2::SecondDerivative, range_size::NTuple{1,Integer}) = range_size -function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, I::NTuple{1,Index}) where T - return apply(D2, v, I[1]) +@inline function LazyTensors.apply(D2::SecondDerivative{T}, v::AbstractVector{T}, I::NTuple{1,Index}) where T + return @inbounds apply(D2, v, I[1]) end +function LazyTensors.apply_transpose(D2::SecondDerivative{T}, v::AbstractVector{T}, I::NTuple{1,Index}) where T = LazyTensors.apply(D2, v, I) + # Apply for different regions Lower/Interior/Upper or Unknown region @inline function LazyTensors.apply(D2::SecondDerivative, v::AbstractVector, i::Index{Lower}) return @inbounds D2.h_inv*D2.h_inv*apply_stencil(D2.closureStencils[Int(i)], v, Int(i)) @@ -43,6 +45,6 @@ return apply(D2, v, i) end -function closuresize(D2::SecondDerivative{T<:Real,N,M,K}) where T,N,M,K +function closuresize(D2::SecondDerivative{T<:Real,N,M,K}) where {T,N,M,K} return M end