aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/kernels/CpuFloorKernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/kernels/CpuFloorKernel.h')
-rw-r--r--src/cpu/kernels/CpuFloorKernel.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/cpu/kernels/CpuFloorKernel.h b/src/cpu/kernels/CpuFloorKernel.h
index ffb9658190..2b102a0515 100644
--- a/src/cpu/kernels/CpuFloorKernel.h
+++ b/src/cpu/kernels/CpuFloorKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,8 +34,11 @@ namespace cpu
namespace kernels
{
/** Cpu accelarated kernel to perform a floor operation */
-class CpuFloorKernel : public ICpuKernel
+class CpuFloorKernel : public NewICpuKernel<CpuFloorKernel>
{
+private:
+ using FloorKernelPtr = std::add_pointer<void(const void *, void *, int)>::type;
+
public:
CpuFloorKernel() = default;
ARM_COMPUTE_DISALLOW_COPY_ALLOW_MOVE(CpuFloorKernel);
@@ -65,12 +68,18 @@ public:
void run_op(ITensorPack &tensors, const Window &window, const ThreadInfo &info) override;
const char *name() const override;
-private:
- using FloorUKernelPtr = std::add_pointer<void(const void *, void *, int)>::type;
+ struct FloorKernel
+ {
+ const char *name;
+ const DataTypeISASelectorPtr is_selected;
+ FloorKernelPtr ukernel;
+ };
+
+ static const std::vector<FloorKernel> &get_available_kernels();
private:
- FloorUKernelPtr _run_method{ nullptr };
- std::string _name{};
+ FloorKernelPtr _run_method{ nullptr };
+ std::string _name{};
};
} // namespace kernels
} // namespace cpu