@@ -14,12 +14,12 @@ isperiodic(C::ContinuousSpace) = isperiodic(domain(C))
1414
1515spacescompatible (a:: ContinuousSpace ,b:: ContinuousSpace ) = domainscompatible (a,b)
1616conversion_rule (a:: ContinuousSpace ,
17- b:: PiecewiseSpace{CD,DD,RR} ) where {CD <: Tuple{Vararg{ChebyshevDirichlet{1,1,DDD,RRR }}} ,DD,RR <: Real } where {DDD,RRR} = a
17+ b:: PiecewiseSpace {<: Tuple{Vararg{<: ChebyshevDirichlet{1,1}}} ,<: Any , <: Real }) = a
1818
1919plan_transform (sp:: ContinuousSpace ,vals:: AbstractVector ) =
2020 TransformPlan {eltype(vals),typeof(sp),false,Nothing} (sp,nothing )
2121
22- function * (P:: TransformPlan{T,SS ,false} ,vals:: AbstractVector{T} ) where {T,SS <: ContinuousSpace }
22+ function * (P:: TransformPlan{T,<:ContinuousSpace ,false} ,vals:: AbstractVector{T} ) where {T}
2323 S = P. space
2424 n= length (vals)
2525 d= domain (S)
@@ -131,27 +131,26 @@ coefficients(cfsin::AbstractVector,A::ContinuousSpace,B::ContinuousSpace) =
131131
132132
133133# We implemnt conversion between continuous space and PiecewiseSpace with Chebyshev dirichlet
134- function Conversion (ps:: PiecewiseSpace{CD,DD,RR} ,cs:: ContinuousSpace ) where {CD<: Tuple{Vararg{ChebyshevDirichlet{1,1,DDD,RRR}}} ,
135- DD,RR<: Real } where {DDD,RRR}
134+ const PiecewiseSpaceReal{CD} = PiecewiseSpace{CD,<: Any ,<: Real }
135+ const PiecewiseSpaceRealChebyDirichlet11 = PiecewiseSpaceReal{<: Tuple{Vararg{<:ChebyshevDirichlet{1,1}}} }
136+
137+ function Conversion (ps:: PiecewiseSpaceRealChebyDirichlet11 , cs:: ContinuousSpace )
136138 @assert ps == canonicalspace (cs)
137139 ConcreteConversion (ps,cs)
138140end
139141
140- function Conversion (cs:: ContinuousSpace ,ps:: PiecewiseSpace{CD,DD,RR} ) where {CD<: Tuple{Vararg{ChebyshevDirichlet{1,1,DDD,RRR}}} ,
141- DD,RR<: Real } where {DDD,RRR}
142+ function Conversion (cs:: ContinuousSpace ,ps:: PiecewiseSpaceRealChebyDirichlet11 )
142143 @assert ps == canonicalspace (cs)
143144 ConcreteConversion (cs,ps)
144145end
145146
146147
147- bandwidths (C:: ConcreteConversion{PiecewiseSpace{CD,DD,RR},CS} ) where {CD<: Tuple{Vararg{ChebyshevDirichlet{1,1,DDD,RRR}}} ,
148- DD,RR<: Real ,CS<: ContinuousSpace } where {DDD,RRR} =
148+ bandwidths (C:: ConcreteConversion{<:PiecewiseSpaceRealChebyDirichlet11,<:ContinuousSpace} ) =
149149 1 ,ncomponents (domain (rangespace (C)))
150150
151151
152- function getindex (C:: ConcreteConversion{PiecewiseSpace{CD,DD,RR},CS,T} ,
153- k:: Integer ,j:: Integer ) where {T,DD,RR<: Real ,CS<: ContinuousSpace ,
154- CD<: Tuple{Vararg{ChebyshevDirichlet{1,1,DDD,RRR}}} } where {DDD,RRR}
152+ function getindex (C:: ConcreteConversion{<:PiecewiseSpaceRealChebyDirichlet11,<:ContinuousSpace,T} ,
153+ k:: Integer ,j:: Integer ) where {T}
155154 d= domain (rangespace (C))
156155 K= ncomponents (d)
157156 if isperiodic (d)
@@ -182,16 +181,12 @@ function getindex(C::ConcreteConversion{PiecewiseSpace{CD,DD,RR},CS,T},
182181end
183182
184183
185- bandwidths (C:: ConcreteConversion {<: ContinuousSpace ,
186- PiecewiseSpace{CD,DD,RR}}) where {CD<: Tuple{Vararg{ChebyshevDirichlet{1,1,DDD,RRR}}} ,
187- DD,RR<: Real } where {DDD,RRR} =
184+ bandwidths (C:: ConcreteConversion{<:ContinuousSpace, <:PiecewiseSpaceRealChebyDirichlet11} ) =
188185 isperiodic (domainspace (C)) ? (2 ncomponents (domain (rangespace (C)))- 1 ,1 ) :
189186 (ncomponents (domain (rangespace (C))),1 )
190187
191- function getindex (C:: ConcreteConversion {<: ContinuousSpace ,
192- PiecewiseSpace{CD,DD,RR},T},
193- k:: Integer ,j:: Integer ) where {T,CD<: Tuple{Vararg{ChebyshevDirichlet{1,1,DDD,RRR}}} ,
194- DD,RR<: Real } where {DDD,RRR}
188+ function getindex (C:: ConcreteConversion{<:ContinuousSpace,<:PiecewiseSpaceRealChebyDirichlet11,T} ,
189+ k:: Integer ,j:: Integer ) where {T}
195190 d= domain (domainspace (C))
196191 K= ncomponents (d)
197192 if isperiodic (d)
0 commit comments