ArmNN
 20.08
ExpTestImpl.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 "ExpTestImpl.hpp"
8 
9 template<armnn::DataType ArmnnType, typename T>
11  armnn::IWorkloadFactory& workloadFactory,
13 {
14  const unsigned int inputShape[] = { 2, 2 };
15 
16  std::vector<float> inputValues
17  {
18  3.0f, 2.0f,
19  1.0f, 1.1f
20  };
21 
22  std::vector<float> expectedOutputValues
23  {
24  20.085536923188f, 7.389056098931f,
25  2.718281828459f, 3.004166023946f
26  };
27 
28  return ElementwiseUnaryTestHelper<2, ArmnnType>(
29  workloadFactory,
30  memoryManager,
32  inputShape,
33  inputValues,
34  inputShape,
35  expectedOutputValues);
36 }
37 
38 template<armnn::DataType ArmnnType, typename T>
40  armnn::IWorkloadFactory& workloadFactory,
42 {
43  const unsigned int inputShape[] = { 3, 1, 2 };
44 
45  std::vector<float> inputValues
46  {
47  5.0f, 4.0f,
48  3.0f, 2.0f,
49  1.0f, 1.1f
50  };
51 
52  std::vector<float> expectedOutputValues
53  {
54  148.413159102577f, 54.598150033144f,
55  20.085536923188f, 7.389056098931f,
56  2.718281828459f, 3.004166023946f
57  };
58 
59  return ElementwiseUnaryTestHelper<3, ArmnnType>(
60  workloadFactory,
61  memoryManager,
63  inputShape,
64  inputValues,
65  inputShape,
66  expectedOutputValues);
67 }
68 
69 template<armnn::DataType ArmnnType, typename T>
71  armnn::IWorkloadFactory& workloadFactory,
73 {
74  const unsigned int inputShape[] = { 1, 2 };
75 
76  std::vector<float> inputValues
77  {
78  0.f, 0.f
79  };
80 
81  std::vector<float> expectedOutputValues
82  {
83  1.0f, 1.0f
84  };
85 
86  return ElementwiseUnaryTestHelper<2, ArmnnType>(
87  workloadFactory,
88  memoryManager,
90  inputShape,
91  inputValues,
92  inputShape,
93  expectedOutputValues);
94 }
95 
96 template<armnn::DataType ArmnnType, typename T>
98  armnn::IWorkloadFactory& workloadFactory,
100 {
101  const unsigned int inputShape[] = { 1, 2 };
102 
103  std::vector<float> inputValues
104  {
105  -5.9f, -5.8f
106  };
107 
108  std::vector<float> expectedOutputValues
109  {
110  0.0027394448187683684f, 0.0030275547453758153f,
111  };
112 
113  return ElementwiseUnaryTestHelper<2, ArmnnType>(
114  workloadFactory,
115  memoryManager,
117  inputShape,
118  inputValues,
119  inputShape,
120  expectedOutputValues);
121 }
122 
123 //
124 // Explicit template specializations
125 //
126 
128 Exp2dTest<armnn::DataType::Float32>(
129  armnn::IWorkloadFactory& workloadFactory,
131 
133 Exp2dTest<armnn::DataType::Float16>(
134  armnn::IWorkloadFactory& workloadFactory,
136 
138 Exp2dTest<armnn::DataType::QAsymmS8>(
139  armnn::IWorkloadFactory& workloadFactory,
141 
143 Exp2dTest<armnn::DataType::QAsymmU8>(
144  armnn::IWorkloadFactory& workloadFactory,
146 
148 Exp2dTest<armnn::DataType::QSymmS16>(
149  armnn::IWorkloadFactory& workloadFactory,
151 
153 Exp3dTest<armnn::DataType::Float32>(
154  armnn::IWorkloadFactory& workloadFactory,
156 
158 Exp3dTest<armnn::DataType::Float16>(
159  armnn::IWorkloadFactory& workloadFactory,
161 
163 Exp3dTest<armnn::DataType::QAsymmS8>(
164  armnn::IWorkloadFactory& workloadFactory,
166 
168 Exp3dTest<armnn::DataType::QAsymmU8>(
169  armnn::IWorkloadFactory& workloadFactory,
171 
173 Exp3dTest<armnn::DataType::QSymmS16>(
174  armnn::IWorkloadFactory& workloadFactory,
176 
178 ExpZeroTest<armnn::DataType::Float32>(
179  armnn::IWorkloadFactory& workloadFactory,
181 
183 ExpNegativeTest<armnn::DataType::Float32>(
184  armnn::IWorkloadFactory& workloadFactory,
LayerTestResult< T, 2 > ExpNegativeTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: ExpTestImpl.cpp:97
LayerTestResult< T, 2 > Exp2dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: ExpTestImpl.cpp:10
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< T, 3 > Exp3dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: ExpTestImpl.cpp:39
LayerTestResult< T, 2 > ExpZeroTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Definition: ExpTestImpl.cpp:70