Skip to content

Commit 14d2bbb

Browse files
authored
allow starting forwardrecurrence! from a shifted start for adaptive (#216)
* allow starting forwardrecurrence! from a shifted start for adaptive * Update clenshaw.jl
1 parent 5369e42 commit 14d2bbb

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "FastTransforms"
22
uuid = "057dd010-8810-581a-b7be-e3fc3b93f78c"
3-
version = "0.15.2"
3+
version = "0.15.3"
44

55
[deps]
66
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"

src/clenshaw.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,14 @@ function _forwardrecurrence!(v::AbstractVector, A::AbstractVector, B::AbstractVe
2929
v[1] = p0
3030
N == 1 && return v
3131
v[2] = p1
32-
@inbounds for n = 2:N-1
32+
_forwardrecurrence!(v, A, B, C, x, 2:N)
33+
end
34+
35+
function _forwardrecurrence!(v::AbstractVector, A::AbstractVector, B::AbstractVector, C::AbstractVector, x, kr::AbstractUnitRange)
36+
n₀, N = first(kr), last(kr)
37+
@boundscheck N > length(v) && throw(BoundsError(v, N))
38+
p0, p1 = v[n₀-1], v[n₀]
39+
@inbounds for n = n₀:N-1
3340
p1,p0 = _forwardrecurrence_next(n, A, B, C, x, p0, p1),p1
3441
v[n+1] = p1
3542
end
@@ -38,6 +45,7 @@ end
3845

3946

4047

48+
4149
forwardrecurrence(N::Integer, A::AbstractVector, B::AbstractVector, C::AbstractVector, x) =
4250
forwardrecurrence!(Vector{promote_type(eltype(A),eltype(B),eltype(C),typeof(x))}(undef, N), A, B, C, x)
4351

0 commit comments

Comments
 (0)