xref: /aosp_15_r20/external/armnn/include/armnnTestUtils/LayerTestResult.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker 
6*89c4ff92SAndroid Build Coastguard Worker #pragma once
7*89c4ff92SAndroid Build Coastguard Worker 
8*89c4ff92SAndroid Build Coastguard Worker #include <armnn/Tensor.hpp>
9*89c4ff92SAndroid Build Coastguard Worker #include <armnn/utility/Assert.hpp>
10*89c4ff92SAndroid Build Coastguard Worker 
11*89c4ff92SAndroid Build Coastguard Worker #include <cstddef>
12*89c4ff92SAndroid Build Coastguard Worker #include <vector>
13*89c4ff92SAndroid Build Coastguard Worker 
14*89c4ff92SAndroid Build Coastguard Worker template <typename T, std::size_t n>
15*89c4ff92SAndroid Build Coastguard Worker struct LayerTestResult
16*89c4ff92SAndroid Build Coastguard Worker {
LayerTestResultLayerTestResult17*89c4ff92SAndroid Build Coastguard Worker     LayerTestResult(const armnn::TensorInfo& outputInfo)
18*89c4ff92SAndroid Build Coastguard Worker         : m_Supported(true)
19*89c4ff92SAndroid Build Coastguard Worker         , m_CompareBoolean(false)
20*89c4ff92SAndroid Build Coastguard Worker     {
21*89c4ff92SAndroid Build Coastguard Worker         m_ActualData.reserve(outputInfo.GetNumElements());
22*89c4ff92SAndroid Build Coastguard Worker         m_ExpectedData.reserve(outputInfo.GetNumElements());
23*89c4ff92SAndroid Build Coastguard Worker         m_ActualShape = outputInfo.GetShape();
24*89c4ff92SAndroid Build Coastguard Worker         m_ExpectedShape = outputInfo.GetShape();
25*89c4ff92SAndroid Build Coastguard Worker     }
26*89c4ff92SAndroid Build Coastguard Worker 
LayerTestResultLayerTestResult27*89c4ff92SAndroid Build Coastguard Worker     LayerTestResult(const std::vector<T>& actualData,
28*89c4ff92SAndroid Build Coastguard Worker                     const std::vector<T>& expectedData,
29*89c4ff92SAndroid Build Coastguard Worker                     const armnn::TensorShape& actualShape,
30*89c4ff92SAndroid Build Coastguard Worker                     const armnn::TensorShape& expectedShape)
31*89c4ff92SAndroid Build Coastguard Worker         : m_ActualData(actualData)
32*89c4ff92SAndroid Build Coastguard Worker         , m_ExpectedData(expectedData)
33*89c4ff92SAndroid Build Coastguard Worker         , m_ActualShape(actualShape)
34*89c4ff92SAndroid Build Coastguard Worker         , m_ExpectedShape(expectedShape)
35*89c4ff92SAndroid Build Coastguard Worker         , m_Supported(true)
36*89c4ff92SAndroid Build Coastguard Worker         , m_CompareBoolean(false)
37*89c4ff92SAndroid Build Coastguard Worker     {}
38*89c4ff92SAndroid Build Coastguard Worker 
LayerTestResultLayerTestResult39*89c4ff92SAndroid Build Coastguard Worker     LayerTestResult(const std::vector<T>& actualData,
40*89c4ff92SAndroid Build Coastguard Worker                     const std::vector<T>& expectedData,
41*89c4ff92SAndroid Build Coastguard Worker                     const armnn::TensorShape& actualShape,
42*89c4ff92SAndroid Build Coastguard Worker                     const armnn::TensorShape& expectedShape,
43*89c4ff92SAndroid Build Coastguard Worker                     const bool compareBoolean)
44*89c4ff92SAndroid Build Coastguard Worker         : m_ActualData(actualData)
45*89c4ff92SAndroid Build Coastguard Worker         , m_ExpectedData(expectedData)
46*89c4ff92SAndroid Build Coastguard Worker         , m_ActualShape(actualShape)
47*89c4ff92SAndroid Build Coastguard Worker         , m_ExpectedShape(expectedShape)
48*89c4ff92SAndroid Build Coastguard Worker         , m_Supported(true)
49*89c4ff92SAndroid Build Coastguard Worker         , m_CompareBoolean(compareBoolean)
50*89c4ff92SAndroid Build Coastguard Worker     {}
51*89c4ff92SAndroid Build Coastguard Worker 
52*89c4ff92SAndroid Build Coastguard Worker     std::vector<T> m_ActualData;
53*89c4ff92SAndroid Build Coastguard Worker     std::vector<T> m_ExpectedData;
54*89c4ff92SAndroid Build Coastguard Worker     armnn::TensorShape m_ActualShape;
55*89c4ff92SAndroid Build Coastguard Worker     armnn::TensorShape m_ExpectedShape;
56*89c4ff92SAndroid Build Coastguard Worker 
57*89c4ff92SAndroid Build Coastguard Worker     bool m_Supported;
58*89c4ff92SAndroid Build Coastguard Worker     bool m_CompareBoolean;
59*89c4ff92SAndroid Build Coastguard Worker };
60*89c4ff92SAndroid Build Coastguard Worker 
61*89c4ff92SAndroid Build Coastguard Worker 
62*89c4ff92SAndroid Build Coastguard Worker 
63*89c4ff92SAndroid Build Coastguard Worker 
64