Skip to content

Commit 752de93

Browse files
committed
Fixes bounds error
1 parent 45fbe42 commit 752de93

File tree

2 files changed

+21
-26
lines changed

2 files changed

+21
-26
lines changed

src/PaduaTransform.jl

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,15 @@ function trianglecfsmat(P::IPaduaTransformPlan,cfs::AbstractVector)
3636
n=Int(cld(-3+sqrt(1+8N),2))
3737
cfsmat=fill!(P.cfsmat,0)
3838
m=1
39-
@inbounds for d=1:n+1, k=1:d
40-
j=d-k+1
41-
cfsmat[k,j]=cfs[m]
42-
if m==N
43-
return cfsmat
44-
else
45-
m+=1
39+
for d=1:n+1
40+
@inbounds for k=1:d
41+
j=d-k+1
42+
cfsmat[k,j]=cfs[m]
43+
if m==N
44+
return cfsmat
45+
else
46+
m+=1
47+
end
4648
end
4749
end
4850
return cfsmat
@@ -57,12 +59,11 @@ function paduavec(P::IPaduaTransformPlan,padmat::Matrix)
5759
if iseven(n)>0
5860
d=div(n+2,2)
5961
m=0
60-
@inbounds for i=1:n+1
61-
P.padvals[m+1:m+d]=view(padmat,1+mod(i,2):2:N-1+mod(i,2),i)
62-
m+=d
63-
end
62+
@inbounds for i=1:n+1
63+
P.padvals[m+1:m+d]=view(padmat,1+mod(i,2):2:N-1+mod(i,2),i)
64+
m+=d
65+
end
6466
else
65-
6667
@inbounds P.padvals[:]=view(padmat,1:2:N-1)
6768
end
6869
return P.padvals
@@ -113,12 +114,12 @@ function paduavalsmat(P::PaduaTransformPlan,v::AbstractVector)
113114
if iseven(n)>0
114115
d=div(n+2,2)
115116
m=0
116-
@inbounds for i=1:n+1
117+
@inbounds for i=1:n+1
117118
vals[1+mod(i,2):2:end-1+mod(i,2),i]=view(v,m+1:m+d)
118119
m+=d
119120
end
120121
else
121-
@inbounds vals[1:2:end]=view(v,:)
122+
@inbounds vals[1:2:end]=view(v,:)
122123
end
123124
return vals
124125
end
@@ -129,10 +130,12 @@ Creates length (n+1)(n+2)/2 vector from matrix of triangle Chebyshev coefficient
129130
function trianglecfsvec(P::PaduaTransformPlan,cfs::Matrix)
130131
m=size(cfs,2)
131132
l=1
132-
@inbounds for d=1:m,k=1:d
133-
j=d-k+1
134-
P.retvec[l]=cfs[k,j]
135-
l+=1
133+
for d=1:m
134+
@inbounds for k=1:d
135+
j=d-k+1
136+
P.retvec[l]=cfs[k,j]
137+
l+=1
138+
end
136139
end
137140
return P.retvec
138141
end

test/runtests.jl

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -220,14 +220,6 @@ println("Testing runtimes for (I)Padua Transforms")
220220
@time paduatransform(Pl,v)
221221
@time ipaduatransform(IPl,v)
222222

223-
# println("Runtimes for Pre-planned (I)Padua Transforms")
224-
# n=300
225-
# v=rand(N)
226-
# Plan=plan_paduatransform(v)
227-
# IPlan=plan_ipaduatransform(v)
228-
# @time paduatransform(Plan,v)
229-
# @time ipaduatransform(IPlan,v)
230-
231223
println("Accuracy of 2d function interpolation at a point")
232224
function trianglecfsmat{T}(cfs::AbstractVector{T})
233225
N=length(cfs)

0 commit comments

Comments
 (0)