|
60 | 60 | @test eltype(P) === ComplexF64 |
61 | 61 | @test P * x ≈ fftw_fft |
62 | 62 | @test P \ (P * x) ≈ x |
| 63 | + @test fftdims(P) == dims |
63 | 64 |
|
64 | 65 | fftw_bfft = complex.(size(x, dims) .* x) |
65 | 66 | @test AbstractFFTs.bfft(y, dims) ≈ fftw_bfft |
66 | 67 | P = plan_bfft(x, dims) |
67 | 68 | @test P * y ≈ fftw_bfft |
68 | 69 | @test P \ (P * y) ≈ y |
| 70 | + @test fftdims(P) == dims |
69 | 71 |
|
70 | 72 | fftw_ifft = complex.(x) |
71 | 73 | @test AbstractFFTs.ifft(y, dims) ≈ fftw_ifft |
72 | 74 | P = plan_ifft(x, dims) |
73 | 75 | @test P * y ≈ fftw_ifft |
74 | 76 | @test P \ (P * y) ≈ y |
| 77 | + @test fftdims(P) == dims |
75 | 78 |
|
76 | 79 | # real FFT |
77 | 80 | fftw_rfft = fftw_fft[ |
|
84 | 87 | @test eltype(P) === Int |
85 | 88 | @test P * x ≈ fftw_rfft |
86 | 89 | @test P \ (P * x) ≈ x |
| 90 | + @test fftdims(P) == dims |
87 | 91 |
|
88 | 92 | fftw_brfft = complex.(size(x, dims) .* x) |
89 | 93 | @test AbstractFFTs.brfft(ry, size(x, dims), dims) ≈ fftw_brfft |
90 | 94 | P = plan_brfft(ry, size(x, dims), dims) |
91 | 95 | @test P * ry ≈ fftw_brfft |
92 | 96 | @test P \ (P * ry) ≈ ry |
93 | | - |
| 97 | + @test fftdims(P) == dims |
| 98 | + |
94 | 99 | fftw_irfft = complex.(x) |
95 | 100 | @test AbstractFFTs.irfft(ry, size(x, dims), dims) ≈ fftw_irfft |
96 | 101 | P = plan_irfft(ry, size(x, dims), dims) |
97 | 102 | @test P * ry ≈ fftw_irfft |
98 | 103 | @test P \ (P * ry) ≈ ry |
| 104 | + @test fftdims(P) == dims |
99 | 105 | end |
100 | 106 | end |
101 | 107 |
|
|
187 | 193 | # normalization should be inferable even if region is only inferred as ::Any, |
188 | 194 | # need to wrap in another function to test this (note that p.region::Any for |
189 | 195 | # p::TestPlan) |
190 | | - f9(p::Plan{T}, sz) where {T} = AbstractFFTs.normalization(real(T), sz, p.region) |
| 196 | + f9(p::Plan{T}, sz) where {T} = AbstractFFTs.normalization(real(T), sz, fftdims(p)) |
191 | 197 | @test @inferred(f9(plan_fft(zeros(10), 1), 10)) == 1/10 |
192 | 198 | end |
193 | 199 |
|
|
0 commit comments