|
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