@@ -53,14 +53,14 @@ function ChebyshevJacobiIndices{D,T}(α::T,β::T,CJC::ChebyshevJacobiConstants{D
53
53
ChebyshevJacobiIndices (i₁,i₂,j₁,j₂)
54
54
end
55
55
56
- type ChebyshevJacobiPlan{D,T,DCT,DST} <: FastTransformPlan{D,T}
56
+ type ChebyshevJacobiPlan{D,T,DCT,DST,SA } <: FastTransformPlan{D,T}
57
57
CJC:: ChebyshevJacobiConstants{D,T}
58
58
CJI:: ChebyshevJacobiIndices
59
59
p₁:: DCT
60
60
p₂:: DST
61
61
rp:: RecurrencePlan{T}
62
62
c₁:: Vector{T}
63
- c₂:: SubArray{T,1,Vector{T},Tuple{UnitRange{Int64}},1}
63
+ c₂:: SA
64
64
um:: Vector{T}
65
65
vm:: Vector{T}
66
66
cfs:: Matrix{T}
@@ -75,7 +75,7 @@ type ChebyshevJacobiPlan{D,T,DCT,DST} <: FastTransformPlan{D,T}
75
75
anαβ:: Vector{T}
76
76
c_cheb2:: Vector{T}
77
77
pr:: Vector{T}
78
- function ChebyshevJacobiPlan (CJC:: ChebyshevJacobiConstants{D,T} ,CJI:: ChebyshevJacobiIndices ,p₁:: DCT ,p₂:: DST ,rp:: RecurrencePlan{T} ,c₁:: Vector{T} ,c₂:: SubArray{T,1,Vector{T},Tuple{UnitRange{Int64}},1} ,um:: Vector{T} ,vm:: Vector{T} ,cfs:: Matrix{T} ,θ:: Vector{T} ,tempcos:: Vector{T} ,tempsin:: Vector{T} ,tempcosβsinα:: Vector{T} ,tempmindices:: Vector{T} ,cnαβ:: Vector{T} ,cnmαβ:: Vector{T} )
78
+ function ChebyshevJacobiPlan (CJC:: ChebyshevJacobiConstants{D,T} ,CJI:: ChebyshevJacobiIndices ,p₁:: DCT ,p₂:: DST ,rp:: RecurrencePlan{T} ,c₁:: Vector{T} ,c₂:: SA ,um:: Vector{T} ,vm:: Vector{T} ,cfs:: Matrix{T} ,θ:: Vector{T} ,tempcos:: Vector{T} ,tempsin:: Vector{T} ,tempcosβsinα:: Vector{T} ,tempmindices:: Vector{T} ,cnαβ:: Vector{T} ,cnmαβ:: Vector{T} )
79
79
P = new ()
80
80
P. CJC = CJC
81
81
P. CJI = CJI
@@ -96,8 +96,8 @@ type ChebyshevJacobiPlan{D,T,DCT,DST} <: FastTransformPlan{D,T}
96
96
P. cnmαβ = cnmαβ
97
97
P
98
98
end
99
- function ChebyshevJacobiPlan (CJC:: ChebyshevJacobiConstants{D,T} ,CJI:: ChebyshevJacobiIndices ,p₁:: DCT ,p₂:: DST ,rp:: RecurrencePlan{T} ,c₁:: Vector{T} ,c₂:: SubArray{T,1,Vector{T},Tuple{UnitRange{Int64}},1} ,um:: Vector{T} ,vm:: Vector{T} ,cfs:: Matrix{T} ,θ:: Vector{T} ,tempcos:: Vector{T} ,tempsin:: Vector{T} ,tempcosβsinα:: Vector{T} ,tempmindices:: Vector{T} ,cnαβ:: Vector{T} ,cnmαβ:: Vector{T} ,w:: Vector{T} ,anαβ:: Vector{T} ,c_cheb2:: Vector{T} ,pr:: Vector{T} )
100
- P = ChebyshevJacobiPlan {D,T,DCT,DST} (CJC,CJI,p₁,p₂,rp,c₁,c₂,um,vm,cfs,θ,tempcos,tempsin,tempcosβsinα,tempmindices,cnαβ,cnmαβ)
99
+ function ChebyshevJacobiPlan (CJC:: ChebyshevJacobiConstants{D,T} ,CJI:: ChebyshevJacobiIndices ,p₁:: DCT ,p₂:: DST ,rp:: RecurrencePlan{T} ,c₁:: Vector{T} ,c₂:: SA ,um:: Vector{T} ,vm:: Vector{T} ,cfs:: Matrix{T} ,θ:: Vector{T} ,tempcos:: Vector{T} ,tempsin:: Vector{T} ,tempcosβsinα:: Vector{T} ,tempmindices:: Vector{T} ,cnαβ:: Vector{T} ,cnmαβ:: Vector{T} ,w:: Vector{T} ,anαβ:: Vector{T} ,c_cheb2:: Vector{T} ,pr:: Vector{T} )
100
+ P = ChebyshevJacobiPlan {D,T,DCT,DST,SA } (CJC,CJI,p₁,p₂,rp,c₁,c₂,um,vm,cfs,θ,tempcos,tempsin,tempcosβsinα,tempmindices,cnαβ,cnmαβ)
101
101
P. w = w
102
102
P. anαβ = anαβ
103
103
P. c_cheb2 = c_cheb2
114
114
function ForwardChebyshevJacobiPlan {T} (c_jac:: AbstractVector{T} ,α:: T ,β:: T ,M:: Int )
115
115
# Initialize constants
116
116
CJC = ChebyshevJacobiConstants (c_jac,α,β;M= M,D= FORWARD)
117
- if modαβ (α) == 0.5 && modαβ (β) == 0.5 return ChebyshevJacobiPlan {FORWARD,T,Any,Any} (CJC) end
117
+ if modαβ (α) == 0.5 && modαβ (β) == 0.5 return ChebyshevJacobiPlan {FORWARD,T,Any,Any,Any } (CJC) end
118
118
M,N,nM₀,αN,K = getconstants (CJC)
119
119
α,β = modαβ (α),modαβ (β)
120
120
@@ -146,13 +146,13 @@ function ForwardChebyshevJacobiPlan{T}(c_jac::AbstractVector{T},α::T,β::T,M::I
146
146
# Get indices
147
147
CJI = ChebyshevJacobiIndices (α,β,CJC,tempmindices,cfs,tempcos,tempsin,tempcosβsinα)
148
148
149
- ChebyshevJacobiPlan {FORWARD,T,typeof(p₁),typeof(p₂)} (CJC,CJI,p₁,p₂,rp,c₁,c₂,um,vm,cfs,θ,tempcos,tempsin,tempcosβsinα,tempmindices,cnαβ,cnmαβ)
149
+ ChebyshevJacobiPlan {FORWARD,T,typeof(p₁),typeof(p₂),typeof(c₂) } (CJC,CJI,p₁,p₂,rp,c₁,c₂,um,vm,cfs,θ,tempcos,tempsin,tempcosβsinα,tempmindices,cnαβ,cnmαβ)
150
150
end
151
151
152
152
function BackwardChebyshevJacobiPlan {T} (c_cheb:: AbstractVector{T} ,α:: T ,β:: T ,M:: Int )
153
153
# Initialize constants
154
154
CJC = ChebyshevJacobiConstants (c_cheb,α,β;M= M,D= BACKWARD)
155
- if modαβ (α) == 0.5 && modαβ (β) == 0.5 return ChebyshevJacobiPlan {BACKWARD,T,Any,Any} (CJC) end
155
+ if modαβ (α) == 0.5 && modαβ (β) == 0.5 return ChebyshevJacobiPlan {BACKWARD,T,Any,Any,Any } (CJC) end
156
156
M,N,nM₀,αN,K = getconstants (CJC)
157
157
α,β = modαβ (α),modαβ (β)
158
158
@@ -191,7 +191,7 @@ function BackwardChebyshevJacobiPlan{T}(c_cheb::AbstractVector{T},α::T,β::T,M:
191
191
# Get indices
192
192
CJI = ChebyshevJacobiIndices (α,β,CJC,tempmindices,cfs,tempcos,tempsin,tempcosβsinα)
193
193
194
- ChebyshevJacobiPlan {BACKWARD,T,typeof(p₁),typeof(p₂)} (CJC,CJI,p₁,p₂,rp,c₁,c₂,um,vm,cfs,θ,tempcos,tempsin,tempcosβsinα,tempmindices,cnαβ,cnmαβ,w,anαβ,c_cheb2,pr)
194
+ ChebyshevJacobiPlan {BACKWARD,T,typeof(p₁),typeof(p₂),typeof(c₂) } (CJC,CJI,p₁,p₂,rp,c₁,c₂,um,vm,cfs,θ,tempcos,tempsin,tempcosβsinα,tempmindices,cnαβ,cnmαβ,w,anαβ,c_cheb2,pr)
195
195
end
196
196
197
197
getplanαβ (CJC:: ChebyshevJacobiConstants ) = CJC. α,CJC. β
0 commit comments