@@ -36,13 +36,15 @@ function trianglecfsmat(P::IPaduaTransformPlan,cfs::AbstractVector)
36
36
n= Int (cld (- 3 + sqrt (1 + 8 N),2 ))
37
37
cfsmat= fill! (P. cfsmat,0 )
38
38
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
46
48
end
47
49
end
48
50
return cfsmat
@@ -57,12 +59,11 @@ function paduavec(P::IPaduaTransformPlan,padmat::Matrix)
57
59
if iseven (n)> 0
58
60
d= div (n+ 2 ,2 )
59
61
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
64
66
else
65
-
66
67
@inbounds P. padvals[:]= view (padmat,1 : 2 : N- 1 )
67
68
end
68
69
return P. padvals
@@ -113,12 +114,12 @@ function paduavalsmat(P::PaduaTransformPlan,v::AbstractVector)
113
114
if iseven (n)> 0
114
115
d= div (n+ 2 ,2 )
115
116
m= 0
116
- @inbounds for i= 1 : n+ 1
117
+ @inbounds for i= 1 : n+ 1
117
118
vals[1 + mod (i,2 ): 2 : end - 1 + mod (i,2 ),i]= view (v,m+ 1 : m+ d)
118
119
m+= d
119
120
end
120
121
else
121
- @inbounds vals[1 : 2 : end ]= view (v,:)
122
+ @inbounds vals[1 : 2 : end ]= view (v,:)
122
123
end
123
124
return vals
124
125
end
@@ -129,10 +130,12 @@ Creates length (n+1)(n+2)/2 vector from matrix of triangle Chebyshev coefficient
129
130
function trianglecfsvec (P:: PaduaTransformPlan ,cfs:: Matrix )
130
131
m= size (cfs,2 )
131
132
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
136
139
end
137
140
return P. retvec
138
141
end
0 commit comments