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