blob: 85f7c0a4537de68ee275a1f1e43721e263753a22 [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
8#include "LayerTestResult.hpp"
9
10#include <ResolveType.hpp>
11
12#include <armnn/backends/IBackendInternal.hpp>
13#include <backendsCommon/WorkloadFactory.hpp>
14
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);