|
1 |
| -resizedata!(P::OrthogonalPolynomial, x, n) = P # default is no-op |
2 |
| - |
3 | 1 |
|
4 | 2 | # Assume 1 normalization
|
5 | 3 | _p0(A) = one(eltype(A))
|
@@ -27,7 +25,7 @@ function forwardrecurrence_copyto!(dest::AbstractMatrix, V)
|
27 | 25 | checkbounds(dest, axes(V)...)
|
28 | 26 | P = parent(V)
|
29 | 27 | xr,jr = parentindices(V)
|
30 |
| - resizedata!(P, :, maximum(jr)) |
| 28 | + resizedata!(P, :, maximum(jr; init=0)) |
31 | 29 | A,B,C = recurrencecoefficients(P)
|
32 | 30 | shift = first(jr)
|
33 | 31 | Ã,B̃,C̃ = A[shift:∞],B[shift:∞],C[shift:∞]
|
@@ -66,8 +64,8 @@ unsafe_layout_getindex(A...) = sub_materialize(Base.unsafe_view(A...))
|
66 | 64 |
|
67 | 65 | Base.unsafe_getindex(P::OrthogonalPolynomial, x::Number, n::AbstractUnitRange) = unsafe_layout_getindex(P, x, n)
|
68 | 66 | Base.unsafe_getindex(P::OrthogonalPolynomial, x::AbstractVector, n::AbstractUnitRange) = unsafe_layout_getindex(P, x, n)
|
69 |
| -Base.unsafe_getindex(P::OrthogonalPolynomial, x::Number, n::AbstractVector) = Base.unsafe_getindex(P,x,oneto(maximum(n)))[n] |
70 |
| -Base.unsafe_getindex(P::OrthogonalPolynomial, x::AbstractVector, n::AbstractVector) = Base.unsafe_getindex(P,x,oneto(maximum(n)))[:,n] |
| 67 | +Base.unsafe_getindex(P::OrthogonalPolynomial, x::Number, n::AbstractVector) = Base.unsafe_getindex(P,x,oneto(maximum(n; init=0)))[n] |
| 68 | +Base.unsafe_getindex(P::OrthogonalPolynomial, x::AbstractVector, n::AbstractVector) = Base.unsafe_getindex(P,x,oneto(maximum(n; init=0)))[:,n] |
71 | 69 | Base.unsafe_getindex(P::OrthogonalPolynomial, x::AbstractVector, n::Number) = Base.unsafe_getindex(P, x, 1:n)[:,end]
|
72 | 70 | Base.unsafe_getindex(P::OrthogonalPolynomial, x::Number, ::Colon) = Base.unsafe_getindex(P, x, axes(P,2))
|
73 | 71 | function Base.unsafe_getindex(P::OrthogonalPolynomial, x::Number, n::Number)
|
|
99 | 97 | function unsafe_getindex(f::Mul{<:AbstractOPLayout,<:AbstractPaddedLayout}, x::Number, jr)
|
100 | 98 | P,c = f.A,f.B
|
101 | 99 | data = paddeddata(c)
|
102 |
| - resizedata!(P, :, maximum(jr)) |
| 100 | + resizedata!(P, :, maximum(jr; init=0)) |
103 | 101 | _p0(P)*clenshaw(view(paddeddata(c),:,jr), recurrencecoefficients(P)..., x)
|
104 | 102 | end
|
105 | 103 |
|
|
0 commit comments