Skip to content

Commit 2734c13

Browse files
authored
Change direction to enum (#18)
* New release! * Change direction to enum Co-authored-by: Danny Sharp <[email protected]>
1 parent f61336a commit 2734c13

File tree

3 files changed

+11
-17
lines changed

3 files changed

+11
-17
lines changed

src/FFTA.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ include("algos.jl")
1010
function fft(x::AbstractVector{T}) where {T}
1111
y = similar(x)
1212
g = CallGraph{T}(length(x))
13-
fft!(y, x, 1, 1, FFT_FORWARD(), g[1].type, g, 1)
13+
fft!(y, x, 1, 1, FFT_FORWARD, g[1].type, g, 1)
1414
y
1515
end
1616

1717
function fft(x::AbstractVector{T}) where {T <: Real}
1818
y = similar(x, Complex{T})
1919
g = CallGraph{Complex{T}}(length(x))
20-
fft!(y, x, 1, 1, FFT_FORWARD(), g[1].type, g, 1)
20+
fft!(y, x, 1, 1, FFT_FORWARD, g[1].type, g, 1)
2121
y
2222
end
2323

@@ -29,26 +29,26 @@ function fft(x::AbstractMatrix{T}) where {T}
2929
g2 = CallGraph{T}(size(x,2))
3030

3131
for k in 1:N
32-
@views fft!(y1[:,k], x[:,k], 1, 1, FFT_FORWARD(), g1[1].type, g1, 1)
32+
@views fft!(y1[:,k], x[:,k], 1, 1, FFT_FORWARD, g1[1].type, g1, 1)
3333
end
3434

3535
for k in 1:M
36-
@views fft!(y2[k,:], y1[k,:], 1, 1, FFT_FORWARD(), g2[1].type, g2, 1)
36+
@views fft!(y2[k,:], y1[k,:], 1, 1, FFT_FORWARD, g2[1].type, g2, 1)
3737
end
3838
y2
3939
end
4040

4141
function bfft(x::AbstractVector{T}) where {T}
4242
y = similar(x)
4343
g = CallGraph{T}(length(x))
44-
fft!(y, x, 1, 1, FFT_BACKWARD(), g[1].type, g, 1)
44+
fft!(y, x, 1, 1, FFT_BACKWARD, g[1].type, g, 1)
4545
y
4646
end
4747

4848
function bfft(x::AbstractVector{T}) where {T <: Real}
4949
y = similar(x, Complex{T})
5050
g = CallGraph{Complex{T}}(length(x))
51-
fft!(y, x, 1, 1, FFT_BACKWARD(), g[1].type, g, 1)
51+
fft!(y, x, 1, 1, FFT_BACKWARD, g[1].type, g, 1)
5252
y
5353
end
5454

@@ -60,11 +60,11 @@ function bfft(x::AbstractMatrix{T}) where {T}
6060
g2 = CallGraph{T}(size(x,2))
6161

6262
for k in 1:N
63-
@views fft!(y1[:,k], x[:,k], 1, 1, FFT_BACKWARD(), g1[1].type, g1, 1)
63+
@views fft!(y1[:,k], x[:,k], 1, 1, FFT_BACKWARD, g1[1].type, g1, 1)
6464
end
6565

6666
for k in 1:M
67-
@views fft!(y2[k,:], y1[k,:], 1, 1, FFT_BACKWARD(), g2[1].type, g2, 1)
67+
@views fft!(y2[k,:], y1[k,:], 1, 1, FFT_BACKWARD, g2[1].type, g2, 1)
6868
end
6969
y2
7070
end

src/algos.jl

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,8 @@ end
88

99
fft!(::AbstractVector{T}, ::AbstractVector{T}, ::Int, ::Int, ::Direction, ::AbstractFFTType, ::CallGraph{T}, ::Int) where {T} = nothing
1010

11-
@inline function direction_sign(::FFT_BACKWARD)
12-
1.
13-
end
14-
15-
@inline function direction_sign(::FFT_FORWARD)
16-
-1.
11+
@inline function direction_sign(d::Direction)
12+
Int(d)
1713
end
1814

1915
function (g::CallGraph{T})(out::AbstractVector{T}, in::AbstractVector{U}, start_out::Int, start_in::Int, v::Direction, t::AbstractFFTType, idx::Int) where {T,U}

src/callgraph.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
abstract type Direction end
2-
struct FFT_FORWARD <: Direction end
3-
struct FFT_BACKWARD <: Direction end
1+
@enum Direction FFT_FORWARD=-1 FFT_BACKWARD=1
42

53
abstract type AbstractFFTType end
64

0 commit comments

Comments
 (0)