aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h
diff options
context:
space:
mode:
authorgiuros01 <giuseppe.rossini@arm.com>2019-03-26 17:44:40 +0000
committerGiuseppe Rossini <giuseppe.rossini@arm.com>2019-05-01 14:00:38 +0000
commit05fb448bf48e31d723dfd9f4bbf3899ff65f0fba (patch)
tree610576f2df7f1fc616a165c516f2a9475981f819 /arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h
parenta4f378dcd39addd4a63db1c0848f2c120804f4eb (diff)
downloadComputeLibrary-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.h19
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__ */