@@ -6,8 +6,8 @@ size(P::ChebyshevPlan) = isdefined(P, :plan) ? size(P.plan) : (0,)
6
6
length (P:: ChebyshevPlan ) = isdefined (P, :plan ) ? length (P. plan) : 0
7
7
8
8
9
- const FIRSTKIND = 5
10
- const SECONDKIND = 3
9
+ const FIRSTKIND = FFTW . REDFT10
10
+ const SECONDKIND = FFTW . REDFT00
11
11
12
12
struct ChebyshevTransformPlan{T,kind,K,inplace,N,R} <: ChebyshevPlan{T}
13
13
plan:: FFTW.r2rFFTWPlan{T,K,inplace,N,R}
@@ -25,25 +25,25 @@ function plan_chebyshevtransform!(x::AbstractArray{T,N}, ::Val{1}, dims...; kws.
25
25
if isempty (x)
26
26
ChebyshevTransformPlan {T,1,kindtuple(FIRSTKIND,N,dims...),true,N,isempty(dims) ? UnitRange{Int} : typeof(dims)} ()
27
27
else
28
- ChebyshevTransformPlan {T,1,kindtuple(FIRSTKIND,N,dims...)} (FFTW. plan_r2r! (x, FFTW . REDFT10 , dims... ; kws... ))
28
+ ChebyshevTransformPlan {T,1,kindtuple(FIRSTKIND,N,dims...)} (FFTW. plan_r2r! (x, FIRSTKIND , dims... ; kws... ))
29
29
end
30
30
end
31
31
function plan_chebyshevtransform! (x:: AbstractArray{T,N} , :: Val{2} , dims... ; kws... ) where {T<: fftwNumber ,N}
32
32
any (≤ (1 ),size (x)) && throw (ArgumentError (" Array must contain at least 2 entries" ))
33
- ChebyshevTransformPlan {T,2,kindtuple(SECONDKIND,N,dims...)} (FFTW. plan_r2r! (x, FFTW . REDFT00 , dims... ; kws... ))
33
+ ChebyshevTransformPlan {T,2,kindtuple(SECONDKIND,N,dims...)} (FFTW. plan_r2r! (x, SECONDKIND , dims... ; kws... ))
34
34
end
35
35
36
36
37
37
function plan_chebyshevtransform (x:: AbstractArray{T,N} , :: Val{1} , dims... ; kws... ) where {T<: fftwNumber ,N}
38
38
if isempty (x)
39
39
ChebyshevTransformPlan {T,1,kindtuple(FIRSTKIND,N,dims...),false,N,isempty(dims) ? UnitRange{Int} : typeof(dims)} ()
40
40
else
41
- ChebyshevTransformPlan {T,1,kindtuple(FIRSTKIND,N,dims...)} (FFTW. plan_r2r (x, FFTW . REDFT10 , dims... ; kws... ))
41
+ ChebyshevTransformPlan {T,1,kindtuple(FIRSTKIND,N,dims...)} (FFTW. plan_r2r (x, FIRSTKIND , dims... ; kws... ))
42
42
end
43
43
end
44
44
function plan_chebyshevtransform (x:: AbstractArray{T,N} , :: Val{2} , dims... ; kws... ) where {T<: fftwNumber ,N}
45
45
any (≤ (1 ),size (x)) && throw (ArgumentError (" Array must contain at least 2 entries" ))
46
- ChebyshevTransformPlan {T,2,kindtuple(SECONDKIND,N,dims...)} (FFTW. plan_r2r (x, FFTW . REDFT00 , dims... ; kws... ))
46
+ ChebyshevTransformPlan {T,2,kindtuple(SECONDKIND,N,dims...)} (FFTW. plan_r2r (x, SECONDKIND , dims... ; kws... ))
47
47
end
48
48
49
49
plan_chebyshevtransform! (x:: AbstractArray , dims... ; kws... ) = plan_chebyshevtransform! (x, Val (1 ), dims... ; kws... )
@@ -150,7 +150,7 @@ chebyshevtransform(x, dims...; kws...) = plan_chebyshevtransform(x, dims...; kws
150
150
# # Inverse transforms take Chebyshev coefficients and produce values at Chebyshev points of the first and second kinds
151
151
152
152
153
- const IFIRSTKIND = 4
153
+ const IFIRSTKIND = FFTW . REDFT01
154
154
155
155
struct IChebyshevTransformPlan{T,kind,K,inplace,N,R} <: ChebyshevPlan{T}
156
156
plan:: FFTW.r2rFFTWPlan{T,K,inplace,N,R}
@@ -179,7 +179,7 @@ function plan_ichebyshevtransform!(x::AbstractArray{T,N}, ::Val{1}, dims...; kws
179
179
if isempty (x)
180
180
IChebyshevTransformPlan {T,1,kindtuple(IFIRSTKIND,N,dims...),true,N,isempty(dims) ? UnitRange{Int} : typeof(dims)} ()
181
181
else
182
- IChebyshevTransformPlan {T,1,kindtuple(IFIRSTKIND,N,dims...)} (FFTW. plan_r2r! (x, FFTW . REDFT01 , dims... ; kws... ))
182
+ IChebyshevTransformPlan {T,1,kindtuple(IFIRSTKIND,N,dims...)} (FFTW. plan_r2r! (x, IFIRSTKIND , dims... ; kws... ))
183
183
end
184
184
end
185
185
@@ -191,7 +191,7 @@ function plan_ichebyshevtransform(x::AbstractArray{T,N}, ::Val{1}, dims...; kws.
191
191
if isempty (x)
192
192
IChebyshevTransformPlan {T,1,kindtuple(IFIRSTKIND,N,dims...),false,N,isempty(dims) ? UnitRange{Int} : typeof(dims)} ()
193
193
else
194
- IChebyshevTransformPlan {T,1,kindtuple(IFIRSTKIND,N,dims...)} (FFTW. plan_r2r (x, FFTW . REDFT01 , dims... ; kws... ))
194
+ IChebyshevTransformPlan {T,1,kindtuple(IFIRSTKIND,N,dims...)} (FFTW. plan_r2r (x, IFIRSTKIND , dims... ; kws... ))
195
195
end
196
196
end
197
197
@@ -324,8 +324,8 @@ ichebyshevtransform(x, dims...; kwds...) = plan_ichebyshevtransform(x, dims...;
324
324
325
325
# # Chebyshev U
326
326
327
- const UFIRSTKIND = 9
328
- const USECONDKIND = 7
327
+ const UFIRSTKIND = FFTW . RODFT10
328
+ const USECONDKIND = FFTW . RODFT00
329
329
330
330
struct ChebyshevUTransformPlan{T,kind,K,inplace,N,R} <: ChebyshevPlan{T}
331
331
plan:: FFTW.r2rFFTWPlan{T,K,inplace,N,R}
@@ -341,24 +341,24 @@ function plan_chebyshevutransform!(x::AbstractArray{T,N}, ::Val{1}, dims...; kws
341
341
if isempty (x)
342
342
ChebyshevUTransformPlan {T,1,kindtuple(UFIRSTKIND,N,dims...),true,N,isempty(dims) ? UnitRange{Int} : typeof(dims)} ()
343
343
else
344
- ChebyshevUTransformPlan {T,1,kindtuple(UFIRSTKIND,N,dims...)} (FFTW. plan_r2r! (x, FFTW . RODFT10 , dims... ; kws... ))
344
+ ChebyshevUTransformPlan {T,1,kindtuple(UFIRSTKIND,N,dims...)} (FFTW. plan_r2r! (x, UFIRSTKIND , dims... ; kws... ))
345
345
end
346
346
end
347
347
function plan_chebyshevutransform! (x:: AbstractArray{T,N} , :: Val{2} , dims... ; kws... ) where {T<: fftwNumber ,N}
348
348
any (≤ (1 ),size (x)) && throw (ArgumentError (" Array must contain at least 2 entries" ))
349
- ChebyshevUTransformPlan {T,2,kindtuple(USECONDKIND,N,dims...)} (FFTW. plan_r2r! (x, FFTW . RODFT00 , dims... ; kws... ))
349
+ ChebyshevUTransformPlan {T,2,kindtuple(USECONDKIND,N,dims...)} (FFTW. plan_r2r! (x, USECONDKIND , dims... ; kws... ))
350
350
end
351
351
352
352
function plan_chebyshevutransform (x:: AbstractArray{T,N} , :: Val{1} , dims... ; kws... ) where {T<: fftwNumber ,N}
353
353
if isempty (x)
354
354
ChebyshevUTransformPlan {T,1,kindtuple(UFIRSTKIND,N,dims...),false,N,isempty(dims) ? UnitRange{Int} : typeof(dims)} ()
355
355
else
356
- ChebyshevUTransformPlan {T,1,kindtuple(UFIRSTKIND,N,dims...)} (FFTW. plan_r2r (x, FFTW . RODFT10 , dims... ; kws... ))
356
+ ChebyshevUTransformPlan {T,1,kindtuple(UFIRSTKIND,N,dims...)} (FFTW. plan_r2r (x, UFIRSTKIND , dims... ; kws... ))
357
357
end
358
358
end
359
359
function plan_chebyshevutransform (x:: AbstractArray{T,N} , :: Val{2} , dims... ; kws... ) where {T<: fftwNumber ,N}
360
360
any (≤ (1 ),size (x)) && throw (ArgumentError (" Array must contain at least 2 entries" ))
361
- ChebyshevUTransformPlan {T,2,kindtuple(USECONDKIND,N,dims...)} (FFTW. plan_r2r (x, FFTW . RODFT00 , dims... ; kws... ))
361
+ ChebyshevUTransformPlan {T,2,kindtuple(USECONDKIND,N,dims...)} (FFTW. plan_r2r (x, USECONDKIND , dims... ; kws... ))
362
362
end
363
363
364
364
plan_chebyshevutransform! (x:: AbstractArray , dims... ; kws... ) = plan_chebyshevutransform! (x, Val (1 ), dims... ; kws... )
0 commit comments