| 16 | |
| 17 | template<typename inType, typename outType> |
| 18 | detail::Array<outType> fft(const detail::Array<inType> input, |
| 19 | const double norm_factor, const dim_t npad, |
| 20 | const dim_t *const pad, const int rank, |
| 21 | const bool direction) { |
| 22 | using af::dim4; |
| 23 | using detail::fft_inplace; |
| 24 | using detail::reshape; |
| 25 | using detail::scalar; |
| 26 | |
| 27 | dim4 pdims(1); |
| 28 | computePaddedDims(pdims, input.dims(), npad, pad); |
| 29 | auto res = reshape(input, pdims, scalar<outType>(0)); |
| 30 | |
| 31 | fft_inplace<outType>(res, rank, direction); |
| 32 | if (norm_factor != 1.0) multiply_inplace(res, norm_factor); |
| 33 | |
| 34 | return res; |
| 35 | } |
| 36 | |
| 37 | template<typename inType, typename outType> |
| 38 | detail::Array<outType> fft_r2c(const detail::Array<inType> input, |
nothing calls this directly
no test coverage detected