blob: 538a64c21a6ccee6450a6b24205f7775837e6bd8 [file] [log] [blame]
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "LayerTestResult.hpp"
9
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010010#include <ResolveType.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010011
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000012#include <armnn/Types.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010013
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000014#include <armnn/backends/IBackendInternal.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010015#include <backendsCommon/WorkloadFactory.hpp>
16
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000017// Bilinear
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010018template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
19LayerTestResult<T, 4> ResizeBilinearNopTest(
20 armnn::IWorkloadFactory& workloadFactory,
21 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000022 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010023
24template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
25LayerTestResult<T, 4> SimpleResizeBilinearTest(
26 armnn::IWorkloadFactory& workloadFactory,
27 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000028 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010029
30template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
31LayerTestResult<T, 4> ResizeBilinearSqMinTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000032 armnn::IWorkloadFactory& workloadFactory,
33 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
34 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010035
36template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
37LayerTestResult<T, 4> ResizeBilinearMinTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000038 armnn::IWorkloadFactory& workloadFactory,
39 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
40 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010041
42template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
43LayerTestResult<T, 4> ResizeBilinearMagTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000044 armnn::IWorkloadFactory& workloadFactory,
45 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
46 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010047
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000048// NearestNeighbor
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010049template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
50LayerTestResult<T, 4> ResizeNearestNeighborNopTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000051 armnn::IWorkloadFactory& workloadFactory,
52 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
53 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010054
55template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
56LayerTestResult<T, 4> SimpleResizeNearestNeighborTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000057 armnn::IWorkloadFactory& workloadFactory,
58 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
59 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010060
61template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
62LayerTestResult<T, 4> ResizeNearestNeighborSqMinTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000063 armnn::IWorkloadFactory& workloadFactory,
64 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
65 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010066
67template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
68LayerTestResult<T, 4> ResizeNearestNeighborMinTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000069 armnn::IWorkloadFactory& workloadFactory,
70 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
71 const armnn::DataLayout dataLayout);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010072
73template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>>
74LayerTestResult<T, 4> ResizeNearestNeighborMagTest(
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +000075 armnn::IWorkloadFactory& workloadFactory,
76 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
77 const armnn::DataLayout dataLayout,
78 float inQuantScale,
79 int32_t inQuantOffset,
80 float outQuantScale,
81 int32_t outQuantOffset);