IVGCVSW-1946: Remove armnn/src from the include paths
[platform/upstream/armnn.git] / src / backends / reference / workloads / RefPermuteWorkload.hpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5
6 #pragma once
7
8 #include <backendsCommon/Workload.hpp>
9
10 #include <armnn/TypesUtils.hpp>
11
12 namespace armnn
13 {
14
15 template <armnn::DataType DataType>
16 class RefPermuteWorkload : public TypedWorkload<PermuteQueueDescriptor, DataType>
17 {
18 public:
19     static const std::string& GetName()
20     {
21         static const std::string name = std::string("RefPermute") + GetDataTypeName(DataType) + "Workload";
22         return name;
23     }
24
25     using TypedWorkload<PermuteQueueDescriptor, DataType>::m_Data;
26     using TypedWorkload<PermuteQueueDescriptor, DataType>::TypedWorkload;
27     void Execute() const override;
28 };
29
30 using RefPermuteFloat16Workload = RefPermuteWorkload<DataType::Float16>;
31 using RefPermuteFloat32Workload = RefPermuteWorkload<DataType::Float32>;
32 using RefPermuteUint8Workload   = RefPermuteWorkload<DataType::QuantisedAsymm8>;
33
34 } //namespace armnn