38 : _memory_group(memory_manager), _first_pass_func(memory_manager), _second_pass_func(memory_manager), _first_pass_tensor()
51 _memory_group.
manage(&_first_pass_tensor);
52 _first_pass_func.
configure(input, &_first_pass_tensor, first_pass_config);
58 _second_pass_func.
configure(&_first_pass_tensor, output, second_pass_config);
67 TensorInfo first_pass_tensor(input->
clone()->set_is_resizable(
true).reset_padding().set_num_channels(2));
72 first_pass_config.direction = config.
direction;
82 if((output !=
nullptr) && (output->
total_size() != 0))
95 _first_pass_func.
run();
96 _second_pass_func.
run();
unsigned int axis
Axis to run the FFT on.
FFTDirection direction
Direction of the FFT.
NEFFT2D(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Default Constructor.
Descriptor used by the FFT1D function.
Descriptor used by the FFT2D function.
#define ARM_COMPUTE_RETURN_ON_ERROR(status)
Checks if a status contains an error and returns it.
Store the tensor's metadata.
#define ARM_COMPUTE_ERROR_THROW_ON(status)
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
TensorAllocator * allocator()
Return a pointer to the tensor's allocator.
#define ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(...)
void manage(IMemoryManageable *obj) override
Sets a object to be managed by the given memory group.
void run() override
Run the kernels contained in the function.
void release() override
Releases backing memory of the whole group.
void configure(const ITensor *input, ITensor *output, const FFT1DInfo &config)
Initialise the function's source and destinations.
void allocate() override
Allocate size specified by TensorInfo of CPU memory.
virtual std::unique_ptr< T > clone() const =0
Provide a clone of the current object of class T.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const FFT2DInfo &config)
Static function to check if given info will lead to a valid configuration of NEFFT2D.
void acquire() override
Acquires backing memory for the whole group.
virtual size_t total_size() const =0
Returns the total size of the tensor in bytes.
#define ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_SHAPES(...)
#define ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(...)
void run() override
Run the kernels contained in the function.
unsigned int axis1
Axis to run second pass on.
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.
~NEFFT2D()
Default destructor.
#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)
Store the tensor's metadata.
FFTDirection direction
Direction of the FFT.
void configure(const ITensor *input, ITensor *output, const FFT2DInfo &config)
Initialise the function's source and destinations.
unsigned int axis0
Axis to run first pass on.