xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/ReduceSumTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2020 Samsung Electronics Co Ltd and Contributors. All rights reserved.
3 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
4 // SPDX-License-Identifier: MIT
5 //
6 
7 #pragma once
8 
9 #include <armnnTestUtils/LayerTestResult.hpp>
10 
11 #include <ResolveType.hpp>
12 
13 #include <armnn/backends/IBackendInternal.hpp>
14 #include <armnn/backends/WorkloadFactory.hpp>
15 
16 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
17 LayerTestResult<float, 4> ReduceSumSimpleTest(
18         armnn::IWorkloadFactory& workloadFactory,
19         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
20         const armnn::ITensorHandleFactory& tensorHandleFactory);
21 
22 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
23 LayerTestResult<float, 4> ReduceSumSingleAxisTest1(
24         armnn::IWorkloadFactory& workloadFactory,
25         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
26         const armnn::ITensorHandleFactory& tensorHandleFactory);
27 
28 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
29 LayerTestResult<float, 4> ReduceSumSingleAxisTest2(
30         armnn::IWorkloadFactory& workloadFactory,
31         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
32         const armnn::ITensorHandleFactory& tensorHandleFactory);
33 
34 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
35 LayerTestResult<float, 4> ReduceSumSingleAxisTest3(
36         armnn::IWorkloadFactory& workloadFactory,
37         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
38         const armnn::ITensorHandleFactory& tensorHandleFactory);
39 
40 template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
41 LayerTestResult<float, 4> ReduceSumMultipleAxisTest(
42         armnn::IWorkloadFactory& workloadFactory,
43         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
44         const armnn::ITensorHandleFactory& tensorHandleFactory);
45