IVGCVSW-2093 Add SpaceToBatchNd layer and corresponding no-op factory implementations
[platform/upstream/armnn.git] / src / backends / backendsCommon / test / WorkloadTestUtils.hpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6
7 #include <armnn/Tensor.hpp>
8
9 #include <backendsCommon/WorkloadInfo.hpp>
10
11 namespace armnn
12 {
13 class ITensorHandle;
14 }
15
16 template <typename QueueDescriptor>
17 void AddInputToWorkload(QueueDescriptor& descriptor,
18     armnn::WorkloadInfo& info,
19     const armnn::TensorInfo& tensorInfo,
20     armnn::ITensorHandle* tensorHandle)
21 {
22     descriptor.m_Inputs.push_back(tensorHandle);
23     info.m_InputTensorInfos.push_back(tensorInfo);
24 }
25
26 template <typename QueueDescriptor>
27 void AddOutputToWorkload(QueueDescriptor& descriptor,
28     armnn::WorkloadInfo& info,
29     const armnn::TensorInfo& tensorInfo,
30     armnn::ITensorHandle* tensorHandle)
31 {
32     descriptor.m_Outputs.push_back(tensorHandle);
33     info.m_OutputTensorInfos.push_back(tensorInfo);
34 }
35
36 template <typename QueueDescriptor>
37 void SetWorkloadInput(QueueDescriptor& descriptor,
38     armnn::WorkloadInfo& info,
39     unsigned int index,
40     const armnn::TensorInfo& tensorInfo,
41     armnn::ITensorHandle* tensorHandle)
42 {
43     descriptor.m_Inputs[index] = tensorHandle;
44     info.m_InputTensorInfos[index] = tensorInfo;
45 }
46
47 template <typename QueueDescriptor>
48 void SetWorkloadOutput(QueueDescriptor& descriptor,
49     armnn::WorkloadInfo& info,
50     unsigned int index,
51     const armnn::TensorInfo& tensorInfo,
52     armnn::ITensorHandle* tensorHandle)
53 {
54     descriptor.m_Outputs[index] = tensorHandle;
55     info.m_OutputTensorInfos[index] = tensorInfo;
56 }