xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/AdditionTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <armnnTestUtils/LayerTestResult.hpp>
9 
10 #include <armnn/backends/IBackendInternal.hpp>
11 #include <armnn/backends/WorkloadFactory.hpp>
12 
13 LayerTestResult<float, 4> AdditionTest(
14     armnn::IWorkloadFactory& workloadFactory,
15     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
16     const armnn::ITensorHandleFactory& tensorHandleFactory);
17 
18 LayerTestResult<float, 5> Addition5dTest(
19     armnn::IWorkloadFactory& workloadFactory,
20     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21     const armnn::ITensorHandleFactory& tensorHandleFactory);
22 
23 LayerTestResult<float, 4> AdditionBroadcast1ElementTest(
24     armnn::IWorkloadFactory& workloadFactory,
25     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
26     const armnn::ITensorHandleFactory& tensorHandleFactory);
27 
28 LayerTestResult<float, 4> AdditionBroadcastTest(
29     armnn::IWorkloadFactory& workloadFactory,
30     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
31     const armnn::ITensorHandleFactory& tensorHandleFactory);
32 
33 LayerTestResult<uint8_t, 4> AdditionUint8Test(
34     armnn::IWorkloadFactory& workloadFactory,
35     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
36     const armnn::ITensorHandleFactory& tensorHandleFactory);
37 
38 LayerTestResult<uint8_t, 4> AdditionBroadcast1ElementUint8Test(
39     armnn::IWorkloadFactory& workloadFactory,
40     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
41     const armnn::ITensorHandleFactory& tensorHandleFactory);
42 
43 LayerTestResult<uint8_t, 4> AdditionBroadcastUint8Test(
44     armnn::IWorkloadFactory& workloadFactory,
45     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
46     const armnn::ITensorHandleFactory& tensorHandleFactory);
47 
48 LayerTestResult<int16_t, 4> AdditionInt16Test(
49     armnn::IWorkloadFactory& workloadFactory,
50     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
51     const armnn::ITensorHandleFactory& tensorHandleFactory);
52 
53 LayerTestResult<int16_t, 4> AdditionBroadcastInt16Test(
54     armnn::IWorkloadFactory& workloadFactory,
55     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
56     const armnn::ITensorHandleFactory& tensorHandleFactory);
57 
58 LayerTestResult<int16_t, 4> AdditionBroadcast1ElementInt16Test(
59     armnn::IWorkloadFactory& workloadFactory,
60     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
61     const armnn::ITensorHandleFactory& tensorHandleFactory);
62 
63 LayerTestResult<int32_t, 4> AdditionInt32Test(
64     armnn::IWorkloadFactory& workloadFactory,
65     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
66     const armnn::ITensorHandleFactory& tensorHandleFactory);
67 
68 LayerTestResult<int32_t, 4> AdditionBroadcastInt32Test(
69     armnn::IWorkloadFactory& workloadFactory,
70     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
71     const armnn::ITensorHandleFactory& tensorHandleFactory);
72 
73 LayerTestResult<int32_t, 4> AdditionBroadcast1ElementInt32Test(
74     armnn::IWorkloadFactory& workloadFactory,
75     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
76     const armnn::ITensorHandleFactory& tensorHandleFactory);
77 
78 LayerTestResult<float, 4> AdditionAfterMaxPoolTest(
79     armnn::IWorkloadFactory& workloadFactory,
80     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
81     const armnn::ITensorHandleFactory& tensorHandleFactory);
82 
83 LayerTestResult<float, 4> CompareAdditionTest(
84     armnn::IWorkloadFactory& workloadFactory,
85     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
86     armnn::IWorkloadFactory& refWorkloadFactory,
87     const armnn::ITensorHandleFactory& tensorHandleFactory,
88     const armnn::ITensorHandleFactory& refTensorHandleFactory);
89