xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/MaximumTestImpl.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 <Half.hpp>
11 
12 #include <armnn/backends/IBackendInternal.hpp>
13 #include <armnn/backends/WorkloadFactory.hpp>
14 
15 LayerTestResult<float, 4> MaximumSimpleTest(
16     armnn::IWorkloadFactory& workloadFactory,
17     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
18     const armnn::ITensorHandleFactory& tensorHandleFactory);
19 
20 LayerTestResult<float, 4> MaximumBroadcast1ElementTest(
21     armnn::IWorkloadFactory& workloadFactory,
22     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
23     const armnn::ITensorHandleFactory& tensorHandleFactory);
24 
25 LayerTestResult<float, 4> MaximumBroadcast1DVectorTest(
26     armnn::IWorkloadFactory& workloadFactory,
27     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
28     const armnn::ITensorHandleFactory& tensorHandleFactory);
29 
30 LayerTestResult<armnn::Half, 4> MaximumFloat16Test(
31     armnn::IWorkloadFactory& workloadFactory,
32     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
33     const armnn::ITensorHandleFactory& tensorHandleFactory);
34 
35 LayerTestResult<armnn::Half, 4> MaximumBroadcast1ElementFloat16Test(
36     armnn::IWorkloadFactory& workloadFactory,
37     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
38     const armnn::ITensorHandleFactory& tensorHandleFactory);
39 
40 LayerTestResult<armnn::Half, 4> MaximumBroadcast1DVectorFloat16Test(
41     armnn::IWorkloadFactory& workloadFactory,
42     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
43     const armnn::ITensorHandleFactory& tensorHandleFactory);
44 
45 LayerTestResult<uint8_t, 4> MaximumUint8Test(
46     armnn::IWorkloadFactory& workloadFactory,
47     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
48     const armnn::ITensorHandleFactory& tensorHandleFactory);
49 
50 LayerTestResult<uint8_t, 4> MaximumBroadcast1ElementUint8Test(
51     armnn::IWorkloadFactory& workloadFactory,
52     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
53     const armnn::ITensorHandleFactory& tensorHandleFactory);
54 
55 LayerTestResult<uint8_t, 4> MaximumBroadcast1DVectorUint8Test(
56     armnn::IWorkloadFactory& workloadFactory,
57     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
58     const armnn::ITensorHandleFactory& tensorHandleFactory);
59 
60 LayerTestResult<int16_t, 4> MaximumInt16Test(
61     armnn::IWorkloadFactory& workloadFactory,
62     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
63     const armnn::ITensorHandleFactory& tensorHandleFactory);
64 
65 LayerTestResult<int16_t, 4> MaximumBroadcast1ElementInt16Test(
66     armnn::IWorkloadFactory& workloadFactory,
67     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
68     const armnn::ITensorHandleFactory& tensorHandleFactory);
69 
70 LayerTestResult<int16_t, 4> MaximumBroadcast1DVectorInt16Test(
71     armnn::IWorkloadFactory& workloadFactory,
72     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
73     const armnn::ITensorHandleFactory& tensorHandleFactory);
74 
75 LayerTestResult<int32_t, 4> MaximumInt32Test(
76     armnn::IWorkloadFactory& workloadFactory,
77     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
78     const armnn::ITensorHandleFactory& tensorHandleFactory);
79 
80 LayerTestResult<int32_t, 4> MaximumBroadcast1ElementInt32Test(
81     armnn::IWorkloadFactory& workloadFactory,
82     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
83     const armnn::ITensorHandleFactory& tensorHandleFactory);
84 
85 LayerTestResult<int32_t, 4> MaximumBroadcast1DVectorInt32Test(
86     armnn::IWorkloadFactory& workloadFactory,
87     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
88     const armnn::ITensorHandleFactory& tensorHandleFactory);