xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/GatherTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017,2022 Arm Ltd and Contributors. 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, 1> Gather1dParamsFloat32Test(
16     armnn::IWorkloadFactory& workloadFactory,
17     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
18     const armnn::ITensorHandleFactory& tensorHandleFactory);
19 
20 LayerTestResult<float, 1> Gather1dParamsAxisTest(
21     armnn::IWorkloadFactory& workloadFactory,
22     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
23     const armnn::ITensorHandleFactory& tensorHandleFactory);
24 
25 LayerTestResult<armnn::Half, 1> Gather1dParamsFloat16Test(
26     armnn::IWorkloadFactory& workloadFactory,
27     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
28     const armnn::ITensorHandleFactory& tensorHandleFactory);
29 
30 LayerTestResult<uint8_t, 1> Gather1dParamsUint8Test(
31     armnn::IWorkloadFactory& workloadFactory,
32     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
33     const armnn::ITensorHandleFactory& tensorHandleFactory);
34 
35 LayerTestResult<int16_t, 1> Gather1dParamsInt16Test(
36     armnn::IWorkloadFactory& workloadFactory,
37     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
38     const armnn::ITensorHandleFactory& tensorHandleFactory);
39 
40 LayerTestResult<int32_t, 1> Gather1dParamsInt32Test(
41     armnn::IWorkloadFactory& workloadFactory,
42     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
43     const armnn::ITensorHandleFactory& tensorHandleFactory);
44 
45 LayerTestResult<float, 2> GatherMultiDimParamsFloat32Test(
46     armnn::IWorkloadFactory& workloadFactory,
47     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
48     const armnn::ITensorHandleFactory& tensorHandleFactory);
49 
50 LayerTestResult<armnn::Half, 2> GatherMultiDimParamsFloat16Test(
51     armnn::IWorkloadFactory& workloadFactory,
52     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
53     const armnn::ITensorHandleFactory& tensorHandleFactory);
54 
55 LayerTestResult<uint8_t, 2> GatherMultiDimParamsUint8Test(
56     armnn::IWorkloadFactory& workloadFactory,
57     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
58     const armnn::ITensorHandleFactory& tensorHandleFactory);
59 
60 LayerTestResult<int16_t, 2> GatherMultiDimParamsInt16Test(
61     armnn::IWorkloadFactory& workloadFactory,
62     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
63     const armnn::ITensorHandleFactory& tensorHandleFactory);
64 
65 LayerTestResult<int32_t, 2> GatherMultiDimParamsInt32Test(
66     armnn::IWorkloadFactory& workloadFactory,
67     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
68     const armnn::ITensorHandleFactory& tensorHandleFactory);
69 
70 LayerTestResult<float, 4> GatherMultiDimParamsMultiDimIndicesFloat32Test(
71     armnn::IWorkloadFactory& workloadFactory,
72     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
73     const armnn::ITensorHandleFactory& tensorHandleFactory);
74 
75 LayerTestResult<float, 4> GatherMultiDimParamsMultiDimIndicesAxis1Test(
76     armnn::IWorkloadFactory& workloadFactory,
77     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
78     const armnn::ITensorHandleFactory& tensorHandleFactory);
79 
80 LayerTestResult<float, 4> GatherMultiDimParamsMultiDimIndicesAxis2Test(
81     armnn::IWorkloadFactory& workloadFactory,
82     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
83     const armnn::ITensorHandleFactory& tensorHandleFactory);
84 
85 LayerTestResult<armnn::Half, 4> GatherMultiDimParamsMultiDimIndicesFloat16Test(
86     armnn::IWorkloadFactory& workloadFactory,
87     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
88     const armnn::ITensorHandleFactory& tensorHandleFactory);
89 
90 LayerTestResult<uint8_t, 4> GatherMultiDimParamsMultiDimIndicesUint8Test(
91     armnn::IWorkloadFactory& workloadFactory,
92     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
93     const armnn::ITensorHandleFactory& tensorHandleFactory);
94 
95 LayerTestResult<int16_t, 4> GatherMultiDimParamsMultiDimIndicesInt16Test(
96     armnn::IWorkloadFactory& workloadFactory,
97     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
98     const armnn::ITensorHandleFactory& tensorHandleFactory);
99 
100 LayerTestResult<int32_t, 4> GatherMultiDimParamsMultiDimIndicesInt32Test(
101     armnn::IWorkloadFactory& workloadFactory,
102     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
103     const armnn::ITensorHandleFactory& tensorHandleFactory);