MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / dft_1d_core

Function dft_1d_core

tests/validation/reference/DFT.cpp:211–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

209
210template <typename T>
211SimpleTensor<T> dft_1d_core(const SimpleTensor<T> &src, FFTDirection direction)
212{
213 ARM_COMPUTE_ERROR_ON(src.num_channels() != 2);
214
215 const unsigned int N = src.shape()[0];
216
217 SimpleTensor<T> dst(src.shape(), src.data_type(), src.num_channels());
218
219 const unsigned int upper_dims = src.shape().total_size_upper(1);
220#if defined(_OPENMP)
221#pragma omp parallel for
222#endif /* _OPENMP */
223 for (unsigned int du = 0; du < upper_dims; ++du)
224 {
225 const T *src_row_ptr = src.data() + du * N * src.num_channels();
226 T *dst_row_ptr = dst.data() + du * N * dst.num_channels();
227 direction == FFTDirection::Forward ? dft_1d_step(src_row_ptr, dst_row_ptr, N)
228 : idft_1d_step(src_row_ptr, dst_row_ptr, N);
229 }
230
231 return dst;
232}
233
234/** Scale a tensor by a given scaling factor.
235 *

Callers 4

dft_1dFunction · 0.85
rdft_2dFunction · 0.85
ridft_2dFunction · 0.85
dft_2dFunction · 0.85

Calls 7

dft_1d_stepFunction · 0.85
idft_1d_stepFunction · 0.85
total_size_upperMethod · 0.80
num_channelsMethod · 0.45
shapeMethod · 0.45
data_typeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected