blob: 0aee77c8e15f62c2df8aa3474bfe4f177216783a [file] [log] [blame]
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Sadik Armagana097d2a2021-11-24 15:47:28 +00008#include <armnnTestUtils/LayerTestResult.hpp>
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +01009
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000010#include <armnn/backends/IBackendInternal.hpp>
Colm Donelan0c479742021-12-10 12:43:54 +000011#include <armnn/backends/WorkloadFactory.hpp>
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010012
13LayerTestResult<float, 4> MultiplicationTest(
14 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010015 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
16 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010017
18LayerTestResult<float, 5> Multiplication5dTest(
19 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010020 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010022
23LayerTestResult<float, 4> MultiplicationBroadcast1ElementTest(
24 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010025 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
26 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010027
28LayerTestResult<float, 4> MultiplicationBroadcast1DVectorTest(
29 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010030 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
31 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010032
33LayerTestResult<uint8_t, 4> MultiplicationUint8Test(
34 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010035 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
36 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010037
38LayerTestResult<uint8_t, 4> MultiplicationBroadcast1ElementUint8Test(
39 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010040 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
41 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010042
43LayerTestResult<uint8_t, 4> MultiplicationBroadcast1DVectorUint8Test(
44 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010045 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
46 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010047
48LayerTestResult<int16_t, 4> MultiplicationInt16Test(
49 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010050 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
51 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010052
53LayerTestResult<int16_t, 4> MultiplicationBroadcast1ElementInt16Test(
54 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010055 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
56 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010057
58LayerTestResult<int16_t, 4> MultiplicationBroadcast1DVectorInt16Test(
59 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010060 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
61 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010062
Teresa Charlinecb6b8e2020-05-22 18:08:23 +010063LayerTestResult<int32_t, 4> MultiplicationInt32Test(
64 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010065 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
66 const armnn::ITensorHandleFactory& tensorHandleFactory);
Teresa Charlinecb6b8e2020-05-22 18:08:23 +010067
68LayerTestResult<int32_t, 4> MultiplicationBroadcast1ElementInt32Test(
69 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010070 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
71 const armnn::ITensorHandleFactory& tensorHandleFactory);
Teresa Charlinecb6b8e2020-05-22 18:08:23 +010072
73LayerTestResult<int32_t, 4> MultiplicationBroadcast1DVectorInt32Test(
74 armnn::IWorkloadFactory& workloadFactory,
Keith Davis33a626f2020-08-27 15:38:12 +010075 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
76 const armnn::ITensorHandleFactory& tensorHandleFactory);
Teresa Charlinecb6b8e2020-05-22 18:08:23 +010077
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010078LayerTestResult<float, 4> CompareMultiplicationTest(
79 armnn::IWorkloadFactory& workloadFactory,
80 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Keith Davis33a626f2020-08-27 15:38:12 +010081 armnn::IWorkloadFactory& refWorkloadFactory,
82 const armnn::ITensorHandleFactory& tensorHandleFactory,
83 const armnn::ITensorHandleFactory& refTensorHandleFactory);