blob: 9ab2d874e612f0232517c9ac3c8a5b52f834dd07 [file] [log] [blame]
Teresa Charlin4e3e8312021-08-05 12:34:37 +01001//
2// Copyright © 2021 Arm Ltd and Contributors. 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>
Teresa Charlin4e3e8312021-08-05 12:34:37 +01009
10#include <ResolveType.hpp>
11
12#include <armnn/backends/IBackendInternal.hpp>
Colm Donelan0c479742021-12-10 12:43:54 +000013#include <armnn/backends/WorkloadFactory.hpp>
Teresa Charlin4e3e8312021-08-05 12:34:37 +010014
15template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
16LayerTestResult<float, 4> ReduceProdSimpleTest(
17 armnn::IWorkloadFactory& workloadFactory,
18 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
19 const armnn::ITensorHandleFactory& tensorHandleFactory);
20
21template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
22LayerTestResult<float, 4> ReduceProdSingleAxisTest1(
23 armnn::IWorkloadFactory& workloadFactory,
24 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
25 const armnn::ITensorHandleFactory& tensorHandleFactory);
26
27template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
28LayerTestResult<float, 4> ReduceProdSingleAxisTest2(
29 armnn::IWorkloadFactory& workloadFactory,
30 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
31 const armnn::ITensorHandleFactory& tensorHandleFactory);
32
33template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
34LayerTestResult<float, 4> ReduceProdSingleAxisTest3(
35 armnn::IWorkloadFactory& workloadFactory,
36 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
37 const armnn::ITensorHandleFactory& tensorHandleFactory);
38
39template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
40LayerTestResult<float, 4> ReduceProdMultipleAxisTest(
41 armnn::IWorkloadFactory& workloadFactory,
42 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
43 const armnn::ITensorHandleFactory& tensorHandleFactory);