aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime/NEON/functions/NEFloor.h
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2021-01-06 19:42:21 +0000
committerGeorgios Pinitas <georgios.pinitas@arm.com>2021-01-08 15:38:18 +0000
commit70eb53b09adf57cc6ff7435c795e65a4f4697f67 (patch)
treedef5f3e7fbc0df9dcfd6bb15336c97057a09c457 /arm_compute/runtime/NEON/functions/NEFloor.h
parentc216545a9ede448213e76bd50cba4ebd481b942c (diff)
downloadComputeLibrary-70eb53b09adf57cc6ff7435c795e65a4f4697f67.tar.gz
Make CpuFloorKernel kernel stateless
- Rename NEFloorKernel to CpuFloorKernel to accomodate new ISA implementations - Remove state and instead pass tensors to operate during run - Add member function to generate an execution window given an input and output tensor description Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: I9240b8ec534589c0f15c354f771f1ac5d7010c3b Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4773 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Diffstat (limited to 'arm_compute/runtime/NEON/functions/NEFloor.h')
-rw-r--r--arm_compute/runtime/NEON/functions/NEFloor.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/arm_compute/runtime/NEON/functions/NEFloor.h b/arm_compute/runtime/NEON/functions/NEFloor.h
index 7f4248eadb..92993503da 100644
--- a/arm_compute/runtime/NEON/functions/NEFloor.h
+++ b/arm_compute/runtime/NEON/functions/NEFloor.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -24,19 +24,33 @@
#ifndef ARM_COMPUTE_NEFLOOR_H
#define ARM_COMPUTE_NEFLOOR_H
-#include "arm_compute/runtime/NEON/INESimpleFunctionNoBorder.h"
+#include "arm_compute/runtime/IFunction.h"
#include "arm_compute/core/Types.h"
+#include <memory>
+
namespace arm_compute
{
class ITensor;
class ITensorInfo;
/** Basic function to run @ref NEFloorKernel */
-class NEFloor : public INESimpleFunctionNoBorder
+class NEFloor : public IFunction
{
public:
+ /** Constructor */
+ NEFloor();
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
+ NEFloor(const NEFloor &) = delete;
+ /** Default move constructor */
+ NEFloor(NEFloor &&);
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
+ NEFloor &operator=(const NEFloor &) = delete;
+ /** Default move assignment operator */
+ NEFloor &operator=(NEFloor &&);
+ /** Destructor */
+ ~NEFloor();
/** Set the source, destination of the kernel
*
* @param[in] input Source tensor. Data type supported: F16/F32.
@@ -51,6 +65,13 @@ public:
* @return a status
*/
static Status validate(const ITensorInfo *input, const ITensorInfo *output);
+
+ // Inherited methods overridden
+ void run() override;
+
+private:
+ struct Impl;
+ std::unique_ptr<Impl> _impl;
};
} // namespace arm_compute
#endif /* ARM_COMPUTE_NEFLOOR_H */