blob: 44cfe18f21e15499a161157d9eba139ef684863b [file] [log] [blame]
Keith Davis3ae3f972021-05-21 16:33:48 +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>
Keith Davis3ae3f972021-05-21 16:33:48 +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>
Keith Davis3ae3f972021-05-21 16:33:48 +010014
15template<typename T , std::size_t n>
16LayerTestResult<int32_t, 1> ShapeTest(
17 armnn::TensorInfo inputTensorInfo,
18 std::vector<T> input,
19 armnn::IWorkloadFactory& workloadFactory,
20 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
21 const armnn::ITensorHandleFactory& tensorHandleFactory);
22
23template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
24LayerTestResult<int32_t, 1> ShapeDimSize1Test(
25 armnn::IWorkloadFactory& workloadFactory,
26 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
27 const armnn::ITensorHandleFactory& tensorHandleFactory);
28
29template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
30LayerTestResult<int32_t, 1> ShapeDimSize2Test(
31 armnn::IWorkloadFactory& workloadFactory,
32 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
33 const armnn::ITensorHandleFactory& tensorHandleFactory);
34
35template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
36LayerTestResult<int32_t, 1> ShapeDimSize3Test(
37 armnn::IWorkloadFactory& workloadFactory,
38 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
39 const armnn::ITensorHandleFactory& tensorHandleFactory);
40
41template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
42LayerTestResult<int32_t, 1> ShapeDimSize4Test(
43 armnn::IWorkloadFactory& workloadFactory,
44 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
45 const armnn::ITensorHandleFactory& tensorHandleFactory);