33 namespace experimental
39 auto k = std::make_unique<NEPixelWiseMultiplicationKernel>();
40 k->configure(input1, input2, output, scale, overflow_policy, rounding_policy);
41 _kernel = std::move(k);
53 auto k = std::make_unique<NEComplexPixelWiseMultiplicationKernel>();
54 k->configure(input1, input2, output);
55 _kernel = std::move(k);
65 struct NEPixelWiseMultiplication::Impl
67 const ITensor *src_0{
nullptr };
68 const ITensor *src_1{
nullptr };
70 std::unique_ptr<experimental::NEPixelWiseMultiplication> op{
nullptr };
74 : _impl(
std::make_unique<Impl>())
90 _impl->src_0 = input1;
91 _impl->src_1 = input2;
93 _impl->op = std::make_unique<experimental::NEPixelWiseMultiplication>();
94 _impl->op->configure(input1->
info(), input2->
info(), output->
info(),
scale, overflow_policy, rounding_policy, act_info);
103 _impl->op->run(pack);
106 struct NEComplexPixelWiseMultiplication::Impl
111 std::unique_ptr<experimental::NEComplexPixelWiseMultiplication> op{
nullptr };
115 : _impl(
std::make_unique<Impl>())
129 _impl->src_0 = input1;
130 _impl->src_1 = input2;
132 _impl->op = std::make_unique<experimental::NEComplexPixelWiseMultiplication>();
133 _impl->op->configure(input1->
info(), input2->
info(), output->
info(), act_info);
142 _impl->op->run(pack);
~NEComplexPixelWiseMultiplication()
Default Destructor.
NEPixelWiseMultiplication & operator=(const NEPixelWiseMultiplication &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
void run() override
Run the kernels contained in the function.
void run() override
Run the kernels contained in the function.
NEPixelWiseMultiplication()
Default Constructor.
bool enabled() const
Check if initialised.
static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration of NEPixelWiseMultiplicatio...
Basic function to run NEComplexPixelWiseMultiplicationKernel.
Store the tensor's metadata.
static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration of NEComplexPixelWiseMultip...
#define ARM_COMPUTE_RETURN_ERROR_ON(cond)
If the condition is true, an error is returned.
Activation Layer Information class.
static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output)
Static function to check if given info will lead to a valid configuration of NEComplexPixelWiseMultip...
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
void configure(ITensorInfo *input1, ITensorInfo *input2, ITensorInfo *output, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Initialise the kernel's inputs, output.
void configure(ITensorInfo *input1, ITensorInfo *input2, ITensorInfo *output, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Initialise the kernel's inputs, output and convertion policy.
static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy)
Static function to check if given info will lead to a valid configuration of NEPixelWiseMultiplicatio...
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
void configure(const ITensor *input1, const ITensor *input2, ITensor *output, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Initialise the kernel's inputs, output and convertion policy.
RoundingPolicy
Rounding method.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
~NEPixelWiseMultiplication()
Default Destructor.
NEComplexPixelWiseMultiplication()
Default Constructor.
static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, float scale, ConvertPolicy overflow_policy, RoundingPolicy rounding_policy, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration of NEPixelWiseMultiplicatio...
Basic function to run NEPixelWiseMultiplicationKernel.
static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Static function to check if given info will lead to a valid configuration of NEComplexPixelWiseMultip...
NEComplexPixelWiseMultiplication & operator=(const NEComplexPixelWiseMultiplication &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
void configure(ITensor *input1, ITensor *input2, ITensor *output, const ActivationLayerInfo &act_info=ActivationLayerInfo())
Initialise the kernel's inputs, output.
ConvertPolicy
Policy to handle overflow.
void add_tensor(int id, ITensor *tensor)
Add tensor to the pack.