diff options
author | giuros01 <giuseppe.rossini@arm.com> | 2019-03-26 17:44:40 +0000 |
---|---|---|
committer | Giuseppe Rossini <giuseppe.rossini@arm.com> | 2019-05-01 14:00:38 +0000 |
commit | 05fb448bf48e31d723dfd9f4bbf3899ff65f0fba (patch) | |
tree | 610576f2df7f1fc616a165c516f2a9475981f819 /arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h | |
parent | a4f378dcd39addd4a63db1c0848f2c120804f4eb (diff) | |
download | ComputeLibrary-05fb448bf48e31d723dfd9f4bbf3899ff65f0fba.tar.gz |
COMPMID-1963: Implement FFT (2D) on NEON
Change-Id: I3b564be8d7949e00c6544071ef62dd51de838c96
Signed-off-by: giuros01 <giuseppe.rossini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1048
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h')
-rw-r--r-- | arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h b/arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h index a4c4be6f35..8498d3c613 100644 --- a/arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h +++ b/arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h @@ -24,10 +24,10 @@ #ifndef __ARM_COMPUTE_NEFFTRADIXSTAGEKERNEL_H__ #define __ARM_COMPUTE_NEFFTRADIXSTAGEKERNEL_H__ -#include "arm_compute/core/NEON/INEKernel.h" - #include "arm_compute/core/KernelDescriptors.h" +#include "arm_compute/core/NEON/INEKernel.h" +#include <arm_neon.h> #include <set> namespace arm_compute @@ -87,12 +87,17 @@ private: ITensor *_output; bool _run_in_place; unsigned int _Nx; + unsigned int _axis; + unsigned int _radix; + + void set_radix_stage_axis0(const FFTRadixStageKernelInfo &config); + void set_radix_stage_axis1(const FFTRadixStageKernelInfo &config); - template <bool first_stage> - void set_radix_stage_fun(unsigned int radix); + using FFTFunctionPointerAxis0 = std::function<void(float *, float *, unsigned int, unsigned int, const float32x2_t &, unsigned int)>; + using FFTFunctionPointerAxis1 = std::function<void(float *, float *, unsigned int, unsigned int, const float32x2_t &, unsigned int, unsigned int)>; - using FFTFunctionPointerInPlace = std::function<void(float *, float *, unsigned int, unsigned int)>; - FFTFunctionPointerInPlace _func; + FFTFunctionPointerAxis0 _func_0; + FFTFunctionPointerAxis1 _func_1; }; } // namespace arm_compute -#endif /*__ARM_COMPUTE_NEFFTKERNEL_H__ */ +#endif /*__ARM_COMPUTE_NEFFTRADIXSTAGEKERNEL_H__ */ |