diff src/SbpOperators/volumeops/volume_operator.jl @ 946:469ed954b493 feature/tensormapping_application_promotion

Allow volume_operator, boundary_operator, and constant_interior_scaling_operator to act on arbitrary arrays
author Jonatan Werpers <jonatan@werpers.com>
date Sat, 12 Mar 2022 22:26:23 +0100
parents ae28f1d7ef5e
children e79debd10f7d 1ba8a398af9c bbbc31953367
line wrap: on
line diff
--- a/src/SbpOperators/volumeops/volume_operator.jl	Sat Mar 12 22:20:45 2022 +0100
+++ b/src/SbpOperators/volumeops/volume_operator.jl	Sat Mar 12 22:26:23 2022 +0100
@@ -43,19 +43,19 @@
 LazyTensors.range_size(op::VolumeOperator) = op.size
 LazyTensors.domain_size(op::VolumeOperator) = op.size
 
-function LazyTensors.apply(op::VolumeOperator{T}, v::AbstractVector{T}, i::Index{Lower}) where T
+function LazyTensors.apply(op::VolumeOperator, v::AbstractVector, i::Index{Lower})
     return @inbounds apply_stencil(op.closure_stencils[Int(i)], v, Int(i))
 end
 
-function LazyTensors.apply(op::VolumeOperator{T}, v::AbstractVector{T}, i::Index{Interior}) where T
+function LazyTensors.apply(op::VolumeOperator, v::AbstractVector, i::Index{Interior})
     return apply_stencil(op.inner_stencil, v, Int(i))
 end
 
-function LazyTensors.apply(op::VolumeOperator{T}, v::AbstractVector{T}, i::Index{Upper}) where T
+function LazyTensors.apply(op::VolumeOperator, v::AbstractVector, i::Index{Upper})
     return @inbounds Int(op.parity)*apply_stencil_backwards(op.closure_stencils[op.size[1]-Int(i)+1], v, Int(i))
 end
 
-function LazyTensors.apply(op::VolumeOperator{T}, v::AbstractVector{T}, i) where T
+function LazyTensors.apply(op::VolumeOperator, v::AbstractVector, i)
     r = getregion(i, closure_size(op), op.size[1])
     return LazyTensors.apply(op, v, Index(i, r))
 end