Skip to content

Commit 1227fc5

Browse files
committed
support padded coefficients (for ∞-dimensional case)
1 parent 884d86e commit 1227fc5

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/ContinuumArrays.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Base.Broadcast: materialize, BroadcastStyle, broadcasted
88
import LazyArrays: MemoryLayout, Applied, ApplyStyle, flatten, _flatten, colsupport, most, combine_mul_styles, AbstractArrayApplyStyle,
99
adjointlayout, arguments, _mul_arguments, call, broadcastlayout, layout_getindex, UnknownLayout,
1010
sublayout, sub_materialize, ApplyLayout, BroadcastLayout, combine_mul_styles, applylayout,
11-
simplifiable, _simplify, AbstractLazyLayout
11+
simplifiable, _simplify, AbstractLazyLayout, PaddedLayout
1212
import LinearAlgebra: pinv, dot, norm2
1313
import BandedMatrices: AbstractBandedLayout, _BandedMatrix
1414
import BlockArrays: block, blockindex, unblock, blockedrange, _BlockedUnitRange, _BlockArray

src/bases/bases.jl

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,14 @@ copy(L::Ldiv{<:AbstractBasisLayout,BroadcastLayout{typeof(*)},<:Any,<:AbstractQu
122122

123123
# expansion
124124
_grid(_, P) = error("Overload Grid")
125-
_grid(lay::ApplyLayout{typeof(*)}, P) = grid(first(arguments(lay,P)))
125+
126+
_mul_grid(_, args) = grid(first(args))
127+
_mul_grid(::Tuple{Any,PaddedLayout}, (P,c)) = grid(P[:,colsupport(c)])
128+
129+
function _grid(lay::ApplyLayout{typeof(*)}, P)
130+
args = arguments(lay,P)
131+
_mul_grid(map(MemoryLayout,args), args)
132+
end
126133
_grid(::MappedBasisLayout, P) = invmap(parentindices(P)[1])[grid(demap(P))]
127134
_grid(::SubBasisLayout, P) = grid(parent(P))
128135
_grid(::WeightedBasisLayouts, P) = grid(unweightedbasis(P))

0 commit comments

Comments
 (0)