xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/DivisionTestImpl.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 LayerTestResult<float, 4> DivisionByZeroTest(
15     armnn::IWorkloadFactory& workloadFactory,
16     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
17     const armnn::ITensorHandleFactory& tensorHandleFactory);
18 
19 LayerTestResult<float, 4> DivisionTest(
20     armnn::IWorkloadFactory& workloadFactory,
21     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
22     const armnn::ITensorHandleFactory& tensorHandleFactory);
23 
24 LayerTestResult<float, 4> DivisionBroadcast1ElementTest(
25     armnn::IWorkloadFactory& workloadFactory,
26     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
27     const armnn::ITensorHandleFactory& tensorHandleFactory);
28 
29 LayerTestResult<float, 4> DivisionBroadcast1DVectorTest(
30     armnn::IWorkloadFactory& workloadFactory,
31     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
32     const armnn::ITensorHandleFactory& tensorHandleFactory);
33 
34 LayerTestResult<armnn::Half, 4> DivisionFloat16Test(
35     armnn::IWorkloadFactory& workloadFactory,
36     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
37     const armnn::ITensorHandleFactory& tensorHandleFactory);
38 
39 LayerTestResult<armnn::Half, 4> DivisionBroadcast1ElementFloat16Test(
40     armnn::IWorkloadFactory& workloadFactory,
41     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
42     const armnn::ITensorHandleFactory& tensorHandleFactory);
43 
44 LayerTestResult<armnn::Half, 4> DivisionBroadcast1DVectorFloat16Test(
45     armnn::IWorkloadFactory& workloadFactory,
46     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
47     const armnn::ITensorHandleFactory& tensorHandleFactory);
48 
49 LayerTestResult<uint8_t, 4> DivisionUint8Test(
50     armnn::IWorkloadFactory& workloadFactory,
51     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
52     const armnn::ITensorHandleFactory& tensorHandleFactory);
53 
54 LayerTestResult<uint8_t, 4> DivisionBroadcast1ElementUint8Test(
55     armnn::IWorkloadFactory& workloadFactory,
56     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
57     const armnn::ITensorHandleFactory& tensorHandleFactory);
58 
59 LayerTestResult<uint8_t, 4> DivisionBroadcast1DVectorUint8Test(
60     armnn::IWorkloadFactory& workloadFactory,
61     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
62     const armnn::ITensorHandleFactory& tensorHandleFactory);
63 
64 LayerTestResult<int16_t,4> DivisionInt16Test(
65     armnn::IWorkloadFactory& workloadFactory,
66     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
67     const armnn::ITensorHandleFactory& tensorHandleFactory);
68 
69 LayerTestResult<int16_t, 4> DivisionBroadcast1ElementInt16Test(
70     armnn::IWorkloadFactory& workloadFactory,
71     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
72     const armnn::ITensorHandleFactory& tensorHandleFactory);
73 
74 LayerTestResult<int16_t, 4> DivisionBroadcast1DVectorInt16Test(
75     armnn::IWorkloadFactory& workloadFactory,
76     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
77     const armnn::ITensorHandleFactory& tensorHandleFactory);
78 
79 LayerTestResult<int32_t,4> DivisionInt32Test(
80     armnn::IWorkloadFactory& workloadFactory,
81     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
82     const armnn::ITensorHandleFactory& tensorHandleFactory);
83 
84 LayerTestResult<int32_t, 4> DivisionBroadcast1ElementInt32Test(
85     armnn::IWorkloadFactory& workloadFactory,
86     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
87     const armnn::ITensorHandleFactory& tensorHandleFactory);
88 
89 LayerTestResult<int32_t, 4> DivisionBroadcast1DVectorInt32Test(
90     armnn::IWorkloadFactory& workloadFactory,
91     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
92     const armnn::ITensorHandleFactory& tensorHandleFactory);