xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/MultiplicationTestImpl.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> MultiplicationTest(
14     armnn::IWorkloadFactory& workloadFactory,
15     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
16     const armnn::ITensorHandleFactory& tensorHandleFactory);
17 
18 LayerTestResult<float, 5> Multiplication5dTest(
19     armnn::IWorkloadFactory& workloadFactory,
20     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21     const armnn::ITensorHandleFactory& tensorHandleFactory);
22 
23 LayerTestResult<float, 4> MultiplicationBroadcast1ElementTest(
24     armnn::IWorkloadFactory& workloadFactory,
25     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
26     const armnn::ITensorHandleFactory& tensorHandleFactory);
27 
28 LayerTestResult<float, 4> MultiplicationBroadcast1DVectorTest(
29     armnn::IWorkloadFactory& workloadFactory,
30     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
31     const armnn::ITensorHandleFactory& tensorHandleFactory);
32 
33 LayerTestResult<uint8_t, 4> MultiplicationUint8Test(
34     armnn::IWorkloadFactory& workloadFactory,
35     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
36     const armnn::ITensorHandleFactory& tensorHandleFactory);
37 
38 LayerTestResult<uint8_t, 4> MultiplicationBroadcast1ElementUint8Test(
39     armnn::IWorkloadFactory& workloadFactory,
40     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
41     const armnn::ITensorHandleFactory& tensorHandleFactory);
42 
43 LayerTestResult<uint8_t, 4> MultiplicationBroadcast1DVectorUint8Test(
44     armnn::IWorkloadFactory& workloadFactory,
45     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
46     const armnn::ITensorHandleFactory& tensorHandleFactory);
47 
48 LayerTestResult<int16_t, 4> MultiplicationInt16Test(
49     armnn::IWorkloadFactory& workloadFactory,
50     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
51     const armnn::ITensorHandleFactory& tensorHandleFactory);
52 
53 LayerTestResult<int16_t, 4> MultiplicationBroadcast1ElementInt16Test(
54     armnn::IWorkloadFactory& workloadFactory,
55     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
56     const armnn::ITensorHandleFactory& tensorHandleFactory);
57 
58 LayerTestResult<int16_t, 4> MultiplicationBroadcast1DVectorInt16Test(
59     armnn::IWorkloadFactory& workloadFactory,
60     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
61     const armnn::ITensorHandleFactory& tensorHandleFactory);
62 
63 LayerTestResult<int32_t, 4> MultiplicationInt32Test(
64     armnn::IWorkloadFactory& workloadFactory,
65     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
66     const armnn::ITensorHandleFactory& tensorHandleFactory);
67 
68 LayerTestResult<int32_t, 4> MultiplicationBroadcast1ElementInt32Test(
69     armnn::IWorkloadFactory& workloadFactory,
70     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
71     const armnn::ITensorHandleFactory& tensorHandleFactory);
72 
73 LayerTestResult<int32_t, 4> MultiplicationBroadcast1DVectorInt32Test(
74     armnn::IWorkloadFactory& workloadFactory,
75     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
76     const armnn::ITensorHandleFactory& tensorHandleFactory);
77 
78 LayerTestResult<float, 4> CompareMultiplicationTest(
79     armnn::IWorkloadFactory& workloadFactory,
80     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
81     armnn::IWorkloadFactory& refWorkloadFactory,
82     const armnn::ITensorHandleFactory& tensorHandleFactory,
83     const armnn::ITensorHandleFactory& refTensorHandleFactory);
84