ArmNN
 20.05
NegTestImpl.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2020 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "NegTestImpl.hpp"
8 
9 
10 template<armnn::DataType ArmnnType, typename T>
12  armnn::IWorkloadFactory& workloadFactory,
14 {
15  const unsigned int inputShape[] = { 2, 2 };
16 
17  std::vector<float> inputValues
18  {
19  1.f, 1.f,
20  2.f, 25.f
21  };
22 
23  std::vector<float> expectedOutputValues
24  {
25  -1.f, -1.f,
26  -2.f, -25.f
27  };
28 
29  return ElementwiseUnaryTestHelper<2, ArmnnType>(
30  workloadFactory,
31  memoryManager,
33  inputShape,
34  inputValues,
35  inputShape,
36  expectedOutputValues);
37 }
38 
39 template<armnn::DataType ArmnnType, typename T>
41  armnn::IWorkloadFactory& workloadFactory,
43 {
44  const unsigned int inputShape[] = { 3, 1, 2 };
45 
46  std::vector<float> inputValues
47  {
48  1.f, 0.f, 3.f,
49  25.f, 64.f, 100.f
50  };
51 
52  std::vector<float> expectedOutputValues
53  {
54  -1.f, 0.f, -3.f,
55  -25.f, -64.f, -100.f
56  };
57 
58  return ElementwiseUnaryTestHelper<3, ArmnnType>(
59  workloadFactory,
60  memoryManager,
62  inputShape,
63  inputValues,
64  inputShape,
65  expectedOutputValues);
66 }
67 
68 template<armnn::DataType ArmnnType, typename T>
70  armnn::IWorkloadFactory& workloadFactory,
72 {
73  const unsigned int inputShape[] = { 1, 2 };
74 
75  std::vector<float> inputValues
76  {
77  0.f, 0.f
78  };
79 
80  std::vector<float> expectedOutputValues
81  {
82  0.f, 0.f
83  };
84 
85  return ElementwiseUnaryTestHelper<2, ArmnnType>(
86  workloadFactory,
87  memoryManager,
89  inputShape,
90  inputValues,
91  inputShape,
92  expectedOutputValues);
93 }
94 
95 template<armnn::DataType ArmnnType, typename T>
97  armnn::IWorkloadFactory& workloadFactory,
99 {
100  const unsigned int inputShape[] = { 1, 2 };
101 
102  std::vector<float> inputValues
103  {
104  -25.f, -16.f
105  };
106 
107  std::vector<float> expectedOutputValues
108  {
109  25.f, 16.f
110  };
111 
112  return ElementwiseUnaryTestHelper<2, ArmnnType>(
113  workloadFactory,
114  memoryManager,
116  inputShape,
117  inputValues,
118  inputShape,
119  expectedOutputValues);
120 }
121 
122 //
123 // Explicit template specializations
124 //
125 
127 Neg2dTest<armnn::DataType::Float32>(
128  armnn::IWorkloadFactory& workloadFactory,
130 
132 Neg2dTest<armnn::DataType::Float16>(
133  armnn::IWorkloadFactory& workloadFactory,
135 
137 Neg2dTest<armnn::DataType::QAsymmS8>(
138  armnn::IWorkloadFactory& workloadFactory,
140 
142 Neg2dTest<armnn::DataType::QAsymmU8>(
143  armnn::IWorkloadFactory& workloadFactory,
145 
147 Neg2dTest<armnn::DataType::QSymmS16>(
148  armnn::IWorkloadFactory& workloadFactory,
150 
152 Neg3dTest<armnn::DataType::Float32>(
153  armnn::IWorkloadFactory& workloadFactory,
155 
157 Neg3dTest<armnn::DataType::Float16>(
158  armnn::IWorkloadFactory& workloadFactory,
160 
162 Neg3dTest<armnn::DataType::QAsymmS8>(
163  armnn::IWorkloadFactory& workloadFactory,
165 
167 Neg3dTest<armnn::DataType::QAsymmU8>(
168  armnn::IWorkloadFactory& workloadFactory,
170 
172 Neg3dTest<armnn::DataType::QSymmS16>(
173  armnn::IWorkloadFactory& workloadFactory,
175 
177 NegZeroTest<armnn::DataType::Float32>(
178  armnn::IWorkloadFactory& workloadFactory,
180 
182 NegNegativeTest<armnn::DataType::Float32>(
183  armnn::IWorkloadFactory& workloadFactory,
LayerTestResult< T, 3 > Neg3dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: NegTestImpl.cpp:40
LayerTestResult< T, 2 > Neg2dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: NegTestImpl.cpp:11
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< T, 2 > NegNegativeTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: NegTestImpl.cpp:96
LayerTestResult< T, 2 > NegZeroTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: NegTestImpl.cpp:69