34 std::unique_ptr<kernels::NELogicalKernel> kernel{
nullptr };
38 struct NELogicalAnd::Impl :
public LogicalArgs
42 : _impl(
std::make_unique<Impl>())
52 _impl->kernel = std::make_unique<kernels::NELogicalKernel>();
71 struct NELogicalOr::Impl :
public LogicalArgs
75 : _impl(
std::make_unique<Impl>())
85 _impl->kernel = std::make_unique<kernels::NELogicalKernel>();
104 struct NELogicalNot::Impl :
public LogicalArgs
108 : _impl(
std::make_unique<Impl>())
118 _impl->kernel = std::make_unique<kernels::NELogicalKernel>();
NELogicalOr()
Constructor.
NELogicalNot()
Constructor.
~NELogicalAnd()
Destructor.
Basic function to perform logical NOT.
virtual void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors)=0
Runs the kernel in the same thread as the caller synchronously.
Basic function to perform logical OR.
Store the tensor's metadata.
static Status validate(const ITensorInfo *input, const ITensorInfo *output)
Static function to check if given info will lead to a valid configuration of NELogicalNot.
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, LogicalOperation op)
Static function to check if given info will lead to a valid configuration of NELogicalKernel.
void configure(const ITensor *input1, const ITensor *input2, ITensor *output)
Initialise the kernel's inputs and output.
NELogicalAnd & operator=(const NELogicalAnd &)=delete
~NELogicalOr()
Destructor.
void configure(const ITensor *input1, const ITensor *input2, ITensor *output)
Initialise the kernel's inputs and output.
void run() override
Run the kernels contained in the function.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
Basic function to perform logical AND.
void run() override
Run the kernels contained in the function.
static constexpr size_t DimY
Alias for dimension 1 also known as Y dimension.
void run() override
Run the kernels contained in the function.
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 NELogicalAnd.
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 NELogicalOr.
#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)
void configure(const ITensor *input, ITensor *output)
Initialise the kernel's inputs and output.
NELogicalNot & operator=(const NELogicalNot &)=delete
~NELogicalNot()
Destructor.
NELogicalAnd()
Constructor.
static IScheduler & get()
Access the scheduler singleton.
NELogicalOr & operator=(const NELogicalOr &)=delete