|
189 | 189 | ## Map to canonical
|
190 | 190 | @inline function _DefaultDerivative(sp::Space, k::Number)
|
191 | 191 | assert_integer(k)
|
192 |
| - if typeof(canonicaldomain(sp)).name==typeof(domain(sp)).name |
| 192 | + if nameof(typeof(canonicaldomain(sp))) == nameof(typeof(domain(sp))) |
193 | 193 | # this is the normal default constructor
|
194 | 194 | csp=canonicalspace(sp)
|
195 | 195 | if conversion_type(csp,sp)==csp # Conversion(sp,csp) is not banded, or sp==csp
|
@@ -219,22 +219,29 @@ end
|
219 | 219 | end
|
220 | 220 |
|
221 | 221 | @static if VERSION >= v"1.8"
|
222 |
| - Base.@constprop :aggressive DefaultDerivative(sp::Space, k::Number) = |
223 |
| - _DefaultDerivative(sp, k) |
| 222 | + for f in (:DefaultDerivative, :DefaultIntegral) |
| 223 | + _f = Symbol(:_, f) |
| 224 | + @eval Base.@constprop :aggressive $f(sp::Space, k::Number) = $_f(sp, k) |
| 225 | + end |
224 | 226 | else
|
225 |
| - DefaultDerivative(sp::Space, k::Number) = _DefaultDerivative(sp, k) |
| 227 | + for f in (:DefaultDerivative, :DefaultIntegral) |
| 228 | + _f = Symbol(:_, f) |
| 229 | + @eval $f(sp::Space, k::Number) = $_f(sp, k) |
| 230 | + end |
226 | 231 | end
|
227 | 232 |
|
228 |
| -function DefaultIntegral(sp::Space, k::Number) |
| 233 | +@inline function _DefaultIntegral(sp::Space, k::Number) |
229 | 234 | assert_integer(k)
|
230 |
| - if typeof(canonicaldomain(sp)).name==typeof(domain(sp)).name |
| 235 | + if nameof(typeof(canonicaldomain(sp))) == nameof(typeof(domain(sp))) |
231 | 236 | # this is the normal default constructor
|
232 | 237 | csp=canonicalspace(sp)
|
233 | 238 | if conversion_type(csp,sp)==csp # Conversion(sp,csp) is not banded, or sp==csp
|
234 | 239 | # we require that Integral is overridden
|
235 | 240 | error("Implement Integral($(string(sp)),$k)")
|
236 | 241 | end
|
237 |
| - IntegralWrapper(TimesOperator([Integral(csp,k),Conversion(sp,csp)]),k) |
| 242 | + Ik = Integral(csp,k) |
| 243 | + C = Conversion_maybeconcrete(sp, csp, Val(:forward)) |
| 244 | + IntegralWrapper(TimesOperator(Ik, C), k, sp, rangespace(Ik)) |
238 | 245 | elseif k > 1
|
239 | 246 | Q=Integral(sp,1)
|
240 | 247 | IntegralWrapper(TimesOperator(Integral(rangespace(Q),k-1),Q),k)
|
|
0 commit comments