21.02
|
Basic function to execute one dimensional FFT. More...
#include <NEFFT1D.h>
Public Member Functions | |
NEFFT1D (std::shared_ptr< IMemoryManager > memory_manager=nullptr) | |
Default Constructor. More... | |
NEFFT1D (const NEFFT1D &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEFFT1D & | operator= (const NEFFT1D &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
NEFFT1D (NEFFT1D &&)=delete | |
Prevent instances of this class from being moved (As this class contains non movable objects) More... | |
NEFFT1D & | operator= (NEFFT1D &&)=delete |
Prevent instances of this class from being moved (As this class contains non movable objects) More... | |
~NEFFT1D () | |
Default destructor. More... | |
void | configure (const ITensor *input, ITensor *output, const FFT1DInfo &config) |
Initialise the function's source and destinations. More... | |
void | run () override |
Run the kernels contained in the function. More... | |
Public Member Functions inherited from IFunction | |
virtual | ~IFunction ()=default |
Destructor. More... | |
virtual void | prepare () |
Prepare the function for executing. More... | |
Static Public Member Functions | |
static Status | validate (const ITensorInfo *input, const ITensorInfo *output, const FFT1DInfo &config) |
Static function to check if given info will lead to a valid configuration of NEFFT1D. More... | |
Basic function to execute one dimensional FFT.
This function calls the following Neon kernels:
NEFFT1D | ( | std::shared_ptr< IMemoryManager > | memory_manager = nullptr | ) |
Default Constructor.
Definition at line 38 of file NEFFT1D.cpp.
Prevent instances of this class from being copied (As this class contains pointers)
Prevent instances of this class from being moved (As this class contains non movable objects)
|
default |
Default destructor.
Initialise the function's source and destinations.
[in] | input | Source tensor. Data types supported: F32. Number of channels supported: 1 (real tensor) or 2 (complex tensor). |
[out] | output | Destination tensor. Data types and data layouts supported: Same as input . Number of channels supported: 1 (real tensor) or 2 (complex tensor).If input is real, output must be complex. |
[in] | config | FFT related configuration |
Definition at line 43 of file NEFFT1D.cpp.
References TensorAllocator::allocate(), Tensor::allocator(), ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_ERROR_ON_NULLPTR, ARM_COMPUTE_ERROR_THROW_ON, FFTDigitReverseKernelInfo::axis, FFT1DInfo::axis, FFTRadixStageKernelInfo::axis, Tensor::buffer(), FFTScaleKernelInfo::conjugate, FFTDigitReverseKernelInfo::conjugate, arm_compute::helpers::fft::decompose_stages(), arm_compute::helpers::fft::digit_reverse_indices(), FFT1DInfo::direction, ITensor::info(), TensorAllocator::init(), arm_compute::Inverse, FFTRadixStageKernelInfo::is_first_stage, MemoryGroup::manage(), N, ITensorInfo::num_channels(), FFTRadixStageKernelInfo::Nx, FFTRadixStageKernelInfo::radix, FFTScaleKernelInfo::scale, NEFFTRadixStageKernel::supported_radix(), ITensorInfo::tensor_shape(), arm_compute::U32, and NEFFT1D::validate().
Referenced by NEFFT2D::configure().
Prevent instances of this class from being copied (As this class contains pointers)
Prevent instances of this class from being moved (As this class contains non movable objects)
|
overridevirtual |
Run the kernels contained in the function.
For Neon kernels:
For OpenCL kernels:
Implements IFunction.
Definition at line 135 of file NEFFT1D.cpp.
References Window::DimX, Window::DimY, Window::DimZ, Scheduler::get(), and IScheduler::schedule().
Referenced by NEFFT2D::run().
|
static |
Static function to check if given info will lead to a valid configuration of NEFFT1D.
[in] | input | Source tensor info. Data types supported: F32. |
[in] | output | Destination tensor info. Data types and data layouts supported: Same as input . |
[in] | config | FFT related configuration |
Definition at line 109 of file NEFFT1D.cpp.
References ARM_COMPUTE_RETURN_ERROR_ON, ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES, ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES, ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR, FFT1DInfo::axis, ITensorInfo::data_type(), arm_compute::helpers::fft::decompose_stages(), arm_compute::F32, N, ITensorInfo::num_channels(), NEFFTRadixStageKernel::supported_radix(), ITensorInfo::tensor_shape(), and ITensorInfo::total_size().
Referenced by NEFFT1D::configure(), and NEFFT2D::validate().