blob: ebc9893a73026845083b8eabb10f90bf50c14635 [file] [log] [blame]
Finn Williams2605b232020-06-10 15:53:46 +01001//
2// Copyright © 2020 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>
Finn Williams2605b232020-06-10 15:53:46 +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>
Finn Williams2605b232020-06-10 15:53:46 +010014
15template<typename T , std::size_t n>
16LayerTestResult<int32_t, 1> RankTest(
17 armnn::TensorInfo inputTensorInfo,
Sadik Armagan483c8112021-06-01 09:24:52 +010018 std::vector<T> input,
Finn Williams2605b232020-06-10 15:53:46 +010019 armnn::IWorkloadFactory& workloadFactory,
Finn Williamsec36d3e2020-08-28 13:17:05 +010020 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21 const armnn::ITensorHandleFactory& tensorHandleFactory);
Finn Williams2605b232020-06-10 15:53:46 +010022
23template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
24LayerTestResult<int32_t, 1> RankDimSize1Test(
25 armnn::IWorkloadFactory& workloadFactory,
Finn Williamsec36d3e2020-08-28 13:17:05 +010026 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
27 const armnn::ITensorHandleFactory& tensorHandleFactory);
Finn Williams2605b232020-06-10 15:53:46 +010028
29template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
30LayerTestResult<int32_t, 1> RankDimSize2Test(
31 armnn::IWorkloadFactory& workloadFactory,
Finn Williamsec36d3e2020-08-28 13:17:05 +010032 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
33 const armnn::ITensorHandleFactory& tensorHandleFactory);
Finn Williams2605b232020-06-10 15:53:46 +010034
35template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
36LayerTestResult<int32_t, 1> RankDimSize3Test(
37 armnn::IWorkloadFactory& workloadFactory,
Finn Williamsec36d3e2020-08-28 13:17:05 +010038 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
39 const armnn::ITensorHandleFactory& tensorHandleFactory);
Finn Williams2605b232020-06-10 15:53:46 +010040
41template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
42LayerTestResult<int32_t, 1> RankDimSize4Test(
43 armnn::IWorkloadFactory& workloadFactory,
Finn Williamsec36d3e2020-08-28 13:17:05 +010044 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
45 const armnn::ITensorHandleFactory& tensorHandleFactory);