Skip to content

Commit bc60c12

Browse files
committed
Test th_cheb2leg and th_leg2cheb
1 parent 45b2a1e commit bc60c12

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

src/toeplitzhankel.jl

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,40 +28,40 @@ ToeplitzHankelPlan(T::TriangularToeplitz,H::Hankel,D::AbstractVector,DL::Abstrac
2828

2929
function partialchol(H::Hankel)
3030
# Assumes positive definite
31-
σ=eltype(H)[]
32-
n=size(H,1)
33-
C=Vector{eltype(H)}[]
34-
v=[H[:,1];vec(H[end,2:end])]
35-
d=diag(H)
31+
σ = eltype(H)[]
32+
n = size(H,1)
33+
C = Vector{eltype(H)}[]
34+
v = [H[:,1]; vec(H[end,2:end])]
35+
d = diag(H)
3636
@assert length(v) 2n-1
37-
reltol=maximum(abs,d)*eps(eltype(H))*log(n)
37+
reltol = maximum(abs,d)*eps(eltype(H))*log(n)
3838
for k=1:n
39-
mx,idx=findmax(d)
39+
mx,idx = findmax(d)
4040
if mx reltol break end
41-
push!(σ,inv(mx))
42-
push!(C,v[idx:n+idx-1])
41+
push!(σ, inv(mx))
42+
push!(C, v[idx:n+idx-1])
4343
for j=1:k-1
4444
nCjidxσj = -C[j][idx]*σ[j]
4545
Base.axpy!(nCjidxσj, C[j], C[k])
4646
end
4747
@simd for p=1:n
48-
@inbounds d[p]-=C[k][p]^2/mx
48+
@inbounds d[p] -= C[k][p]^2/mx
4949
end
5050
end
5151
for k=1:length(σ) scale!(C[k],sqrt(σ[k])) end
5252
C
5353
end
5454

55-
function partialchol(H::Hankel,D::AbstractVector)
55+
function partialchol(H::Hankel, D::AbstractVector)
5656
# Assumes positive definite
5757
T = promote_type(eltype(H),eltype(D))
58-
σ=T[]
59-
n=size(H,1)
60-
C=Vector{T}[]
61-
v=[H[:,1];vec(H[end,2:end])]
62-
d=diag(H).*D.^2
58+
σ = T[]
59+
n = size(H,1)
60+
C = Vector{T}[]
61+
v = [H[:,1];vec(H[end,2:end])]
62+
d = diag(H).*D.^2
6363
@assert length(v) 2n-1
64-
reltol=maximum(abs,d)*eps(T)*log(n)
64+
reltol = maximum(abs,d)*eps(T)*log(n)
6565
for k=1:n
6666
mx,idx=findmax(d)
6767
if mx reltol break end
@@ -103,7 +103,7 @@ function leg2chebTH{S}(::Type{S},n)
103103
t = zeros(S,n)
104104
t[1:2:end] = λ[1:2:n]
105105
T = TriangularToeplitz(2t/π,:U)
106-
H = Hankel(λ[1:n],λ[n:end])
106+
H = Hankel(λ[1:n], λ[n:end])
107107
DL = ones(S,n)
108108
DL[1] /= 2
109109
T,H,DL

test/chebyshevlegendretests.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,7 @@ using Compat.Test
1717
@test norm(jac2jac(c,0.,2/2,-1/4,2/2)-jjt(c,0.,2/2,-1/4,2/2),Inf) < 10length(c)*eps()
1818

1919
@test norm(ultra2ultra(ultra2ultra(c,.5,.75),.75,.5)-c,Inf) < 10length(c)*eps()
20+
21+
@test FastTransforms.th_cheb2leg([1.0,2,3,4,5]) cheb2leg([1.0,2,3,4,5])
22+
@test FastTransforms.th_leg2cheb([1.0,2,3,4,5]) leg2cheb([1.0,2,3,4,5])
2023
end

0 commit comments

Comments
 (0)