Skip to content

Commit d021a4e

Browse files
committed
Enum of transforms
1 parent 8a82d79 commit d021a4e

File tree

2 files changed

+43
-40
lines changed

2 files changed

+43
-40
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "FastTransforms"
22
uuid = "057dd010-8810-581a-b7be-e3fc3b93f78c"
3-
version = "0.14.1"
3+
version = "0.14.2"
44

55
[deps]
66
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"

src/libfasttransforms.jl

Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -103,44 +103,47 @@ function clenshaw!(c::StridedVector{Float32}, A::Vector{Float32}, B::Vector{Floa
103103
f
104104
end
105105

106-
const LEG2CHEB = 0
107-
const CHEB2LEG = 1
108-
const ULTRA2ULTRA = 2
109-
const JAC2JAC = 3
110-
const LAG2LAG = 4
111-
const JAC2ULTRA = 5
112-
const ULTRA2JAC = 6
113-
const JAC2CHEB = 7
114-
const CHEB2JAC = 8
115-
const ULTRA2CHEB = 9
116-
const CHEB2ULTRA = 10
117-
const ASSOCIATEDJAC2JAC = 11
118-
const MODIFIEDJAC2JAC = 12
119-
const MODIFIEDLAG2LAG = 13
120-
const MODIFIEDHERM2HERM = 14
121-
const SPHERE = 15
122-
const SPHEREV = 16
123-
const DISK = 17
124-
const RECTDISK = 18
125-
const TRIANGLE = 19
126-
const TETRAHEDRON = 20
127-
const SPINSPHERE = 21
128-
const SPHERESYNTHESIS = 22
129-
const SPHEREANALYSIS = 23
130-
const SPHEREVSYNTHESIS = 24
131-
const SPHEREVANALYSIS = 25
132-
const DISKSYNTHESIS = 26
133-
const DISKANALYSIS = 27
134-
const RECTDISKSYNTHESIS = 28
135-
const RECTDISKANALYSIS = 29
136-
const TRIANGLESYNTHESIS = 30
137-
const TRIANGLEANALYSIS = 31
138-
const TETRAHEDRONSYNTHESIS = 32
139-
const TETRAHEDRONANALYSIS = 33
140-
const SPINSPHERESYNTHESIS = 34
141-
const SPINSPHEREANALYSIS = 35
142-
const SPHERICALISOMETRY = 36
143-
106+
@enum Transforms::Cint begin
107+
LEG2CHEB=0
108+
CHEB2LEG
109+
ULTRA2ULTRA
110+
JAC2JAC
111+
LAG2LAG
112+
JAC2ULTRA
113+
ULTRA2JAC
114+
JAC2CHEB
115+
CHEB2JAC
116+
ULTRA2CHEB
117+
CHEB2ULTRA
118+
ASSOCIATEDJAC2JAC
119+
MODIFIEDJAC2JAC
120+
MODIFIEDLAG2LAG
121+
MODIFIEDHERM2HERM
122+
SPHERE
123+
SPHEREV
124+
DISK
125+
RECTDISK
126+
TRIANGLE
127+
TETRAHEDRON
128+
SPINSPHERE
129+
SPHERESYNTHESIS
130+
SPHEREANALYSIS
131+
SPHEREVSYNTHESIS
132+
SPHEREVANALYSIS
133+
DISKSYNTHESIS
134+
DISKANALYSIS
135+
RECTDISKSYNTHESIS
136+
RECTDISKANALYSIS
137+
TRIANGLESYNTHESIS
138+
TRIANGLEANALYSIS
139+
TETRAHEDRONSYNTHESIS
140+
TETRAHEDRONANALYSIS
141+
SPINSPHERESYNTHESIS
142+
SPINSPHEREANALYSIS
143+
SPHERICALISOMETRY
144+
end
145+
146+
Transforms(t::Transforms) = t
144147

145148
let k2s = Dict(LEG2CHEB => "Legendre--Chebyshev",
146149
CHEB2LEG => "Chebyshev--Legendre",
@@ -180,7 +183,7 @@ let k2s = Dict(LEG2CHEB => "Legendre--Chebyshev",
180183
SPINSPHEREANALYSIS => "FFTW Fourier analysis on the sphere (spin-weighted)",
181184
SPHERICALISOMETRY => "Spherical isometry")
182185
global kind2string
183-
kind2string(k::Integer) = k2s[Int(k)]
186+
kind2string(k::Union{Integer, Transforms}) = k2s[Transforms(k)]
184187
end
185188

186189
struct ft_plan_struct end

0 commit comments

Comments
 (0)