Mercurial > repos > public > sbplib_julia
comparison src/SbpOperators/quadrature/inverse_diagonal_quadrature.jl @ 557:3c18a15934a7 feature/quadrature_as_outer_product
Merge in default
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Sun, 29 Nov 2020 21:52:44 +0100 |
parents | src/SbpOperators/quadrature/inverse_diagonal_inner_product.jl@011ca1639153 src/SbpOperators/quadrature/inverse_diagonal_inner_product.jl@576c6d1acc28 |
children | 9b5710ae6587 |
comparison
equal
deleted
inserted
replaced
554:dab9df9c4d66 | 557:3c18a15934a7 |
---|---|
49 | 49 |
50 function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index{Interior}) where T | 50 function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index{Interior}) where T |
51 return @inbounds Hi.h_inv*v[Int(I)] | 51 return @inbounds Hi.h_inv*v[Int(I)] |
52 end | 52 end |
53 | 53 |
54 function LazyTensors.apply(Hi::InverseDiagonalQuadrature, v::AbstractVector{T}, index::Index{Unknown}) where T | 54 function LazyTensors.apply(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, i) where T |
55 N = length(v); | 55 N = length(v); |
56 r = getregion(Int(index), closure_size(Hi), N) | 56 r = getregion(i, closure_size(Hi), N) |
57 i = Index(Int(index), r) | 57 return LazyTensors.apply(Hi, v, Index(i, r)) |
58 return LazyTensors.apply(Hi, v, i) | |
59 end | 58 end |
60 | 59 |
61 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index) where T = LazyTensors.apply(Hi,v,I) | 60 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, i) where T = LazyTensors.apply(Hi,v,i) |
62 | 61 |
63 """ | 62 """ |
64 closure_size(H) | 63 closure_size(H) |
65 Returns the size of the closure stencil of a InverseDiagonalQuadrature `Hi`. | 64 Returns the size of the closure stencil of a InverseDiagonalQuadrature `Hi`. |
66 """ | 65 """ |
67 closure_size(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M | 66 closure_size(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M |
68 export closure_size |