1 // 2 // Copyright © 2017 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include <armnnTestUtils/LayerTestResult.hpp> 9 10 #include <Half.hpp> 11 12 #include <armnn/backends/IBackendInternal.hpp> 13 #include <armnn/backends/WorkloadFactory.hpp> 14 15 LayerTestResult<float, 4> SubtractionTest( 16 armnn::IWorkloadFactory& workloadFactory, 17 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 18 const armnn::ITensorHandleFactory& tensorHandleFactory); 19 20 LayerTestResult<float, 4> SubtractionBroadcast1ElementTest( 21 armnn::IWorkloadFactory& workloadFactory, 22 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 23 const armnn::ITensorHandleFactory& tensorHandleFactory); 24 25 LayerTestResult<float, 4> SubtractionBroadcastTest( 26 armnn::IWorkloadFactory& workloadFactory, 27 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 28 const armnn::ITensorHandleFactory& tensorHandleFactory); 29 30 LayerTestResult<armnn::Half, 4> SubtractionFloat16Test( 31 armnn::IWorkloadFactory& workloadFactory, 32 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 33 const armnn::ITensorHandleFactory& tensorHandleFactory); 34 35 LayerTestResult<armnn::Half, 4> SubtractionBroadcast1ElementFloat16Test( 36 armnn::IWorkloadFactory& workloadFactory, 37 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 38 const armnn::ITensorHandleFactory& tensorHandleFactory); 39 40 LayerTestResult<armnn::Half, 4> SubtractionBroadcastFloat16Test( 41 armnn::IWorkloadFactory& workloadFactory, 42 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 43 const armnn::ITensorHandleFactory& tensorHandleFactory); 44 45 LayerTestResult<uint8_t, 4> SubtractionUint8Test( 46 armnn::IWorkloadFactory& workloadFactory, 47 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 48 const armnn::ITensorHandleFactory& tensorHandleFactory); 49 50 LayerTestResult<uint8_t, 4> SubtractionBroadcast1ElementUint8Test( 51 armnn::IWorkloadFactory& workloadFactory, 52 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 53 const armnn::ITensorHandleFactory& tensorHandleFactory); 54 55 LayerTestResult<uint8_t, 4> SubtractionBroadcastUint8Test( 56 armnn::IWorkloadFactory& workloadFactory, 57 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 58 const armnn::ITensorHandleFactory& tensorHandleFactory); 59 60 LayerTestResult<int16_t, 4> SubtractionInt16Test( 61 armnn::IWorkloadFactory& workloadFactory, 62 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 63 const armnn::ITensorHandleFactory& tensorHandleFactory); 64 65 LayerTestResult<int16_t, 4> SubtractionBroadcast1ElementInt16Test( 66 armnn::IWorkloadFactory& workloadFactory, 67 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 68 const armnn::ITensorHandleFactory& tensorHandleFactory); 69 70 LayerTestResult<int16_t, 4> SubtractionBroadcastInt16Test( 71 armnn::IWorkloadFactory& workloadFactory, 72 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 73 const armnn::ITensorHandleFactory& tensorHandleFactory); 74 75 LayerTestResult<int32_t, 4> SubtractionInt32Test( 76 armnn::IWorkloadFactory& workloadFactory, 77 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 78 const armnn::ITensorHandleFactory& tensorHandleFactory); 79 80 LayerTestResult<int32_t, 4> SubtractionBroadcast1ElementInt32Test( 81 armnn::IWorkloadFactory& workloadFactory, 82 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 83 const armnn::ITensorHandleFactory& tensorHandleFactory); 84 85 LayerTestResult<int32_t, 4> SubtractionBroadcastInt32Test( 86 armnn::IWorkloadFactory& workloadFactory, 87 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 88 const armnn::ITensorHandleFactory& tensorHandleFactory); 89