11 std::unique_ptr<armnn::IWorkload> CreateWorkload<armnn::SubtractionQueueDescriptor>(
16 return workloadFactory.CreateSubtraction(descriptor, info);
23 const unsigned int shape0[] = { 1, 1, 2, 2 };
24 const unsigned int shape1[] = { 1, 1, 2, 2 };
26 std::vector<uint8_t> input0 = { 10, 12, 14, 16 };
27 std::vector<uint8_t> input1 = { 1, 2, 1, 2 };
28 std::vector<uint8_t> output = { 3, 3, 5, 5 };
30 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::QAsymmU8>(
51 const unsigned int shape0[] = { 1, 1, 2, 2 };
52 const unsigned int shape1[] = { 1, 1, 1, 1 };
54 std::vector<uint8_t> input0 = { 10, 12, 14, 16 };
56 std::vector<uint8_t> input1 = { 2 };
58 std::vector<uint8_t> output = { 5, 6, 7, 8 };
60 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::QAsymmU8>(
81 const unsigned int shape0[] = { 1, 1, 2, 2 };
82 const unsigned int shape1[] = { 1, 1, 2, 1 };
84 std::vector<uint8_t> input0 = { 10, 12, 14, 16 };
86 std::vector<uint8_t> input1 = { 2, 1 };
88 std::vector<uint8_t> output = { 8, 11, 12, 15 };
90 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::QAsymmU8>(
105 const unsigned int shape0[] = { 1, 1, 2, 2 };
106 const unsigned int shape1[] = { 1, 1, 2, 2 };
108 std::vector<float> input0 = { 1, 2, 3, 4 };
109 std::vector<float> input1 = { 1, -1, 0, 2 };
110 std::vector<float> output = { 0, 3, 3, 2 };
112 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::Float32>(
127 const unsigned int shape0[] = { 1, 1, 2, 2 };
128 const unsigned int shape1[] = { 1, 1, 1, 1 };
130 std::vector<float> input0 = { 1, 2, 3, 4 };
132 std::vector<float> input1 = { 10 };
134 std::vector<float> output = { -9, -8, -7, -6 };
136 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::Float32>(
151 const unsigned int shape0[] = { 1, 1, 2, 2 };
152 const unsigned int shape1[] = { 1, 1, 1, 2 };
154 std::vector<float> input0 = { 1, 2, 3, 4 };
156 std::vector<float> input1 = { 10, -5 };
158 std::vector<float> output = { -9, 7, -7, 9 };
160 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::Float32>(
175 using namespace half_float::literal;
177 const unsigned int shape0[] = { 1, 1, 2, 2 };
178 const unsigned int shape1[] = { 1, 1, 2, 2 };
180 std::vector<armnn::Half> input0 = { 1._h, 2._h, 3._h, 4._h };
181 std::vector<armnn::Half> input1 = { 1._h, -1._h, 0._h, 2._h };
182 std::vector<armnn::Half> output = { 0._h, 3._h, 3._h, 2._h };
184 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::Float16>(
199 using namespace half_float::literal;
201 const unsigned int shape0[] = { 1, 1, 2, 2 };
202 const unsigned int shape1[] = { 1, 1, 1, 1 };
204 std::vector<armnn::Half> input0 = { 1._h, 2._h, 3._h, 4._h };
206 std::vector<armnn::Half> input1 = { 10._h };
208 std::vector<armnn::Half> output = { -9._h, -8._h, -7._h, -6._h };
210 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::Float16>(
225 using namespace half_float::literal;
227 const unsigned int shape0[] = { 1, 1, 2, 2 };
228 const unsigned int shape1[] = { 1, 1, 1, 2 };
230 std::vector<armnn::Half> input0 = { 1._h, 2._h, 3._h, 4._h };
232 std::vector<armnn::Half> input1 = { 10._h, -5._h };
234 std::vector<armnn::Half> output = { -9._h, 7._h, -7._h, 9._h };
236 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::Float16>(
251 const unsigned int shape[] = { 1, 1, 2, 2 };
253 std::vector<int16_t> input0 = { 10, 12, 14, 16 };
254 std::vector<int16_t> input1 = { 1, 2, 1, 2 };
255 std::vector<int16_t> output = { 3, 3, 5, 5 };
257 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::QSymmS16>(
278 const unsigned int shape0[] = { 1, 1, 2, 2 };
279 const unsigned int shape1[] = { 1, 1, 1, 1 };
281 std::vector<int16_t> input0 = { 10, 12, 14, 16 };
283 std::vector<int16_t> input1 = { 2 };
285 std::vector<int16_t> output = { 3, 4, 5, 6 };
287 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::QSymmS16>(
308 const unsigned int shape0[] = { 1, 1, 2, 2 };
309 const unsigned int shape1[] = { 1, 1, 2, 1 };
311 std::vector<int16_t> input0 = { 10, 12, 14, 16 };
313 std::vector<int16_t> input1 = { 2, 1 };
315 std::vector<int16_t> output = { 8, 11, 12, 15 };
317 return ElementwiseTestHelper<4, armnn::SubtractionQueueDescriptor, armnn::DataType::QSymmS16>(
LayerTestResult< armnn::Half, 4 > SubtractionBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< int16_t, 4 > SubtractionInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< int16_t, 4 > SubtractionBroadcast1ElementInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< float, 4 > SubtractionBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > SubtractionBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< int16_t, 4 > SubtractionBroadcastInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< float, 4 > SubtractionTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< armnn::Half, 4 > SubtractionBroadcastFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > SubtractionUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Contains information about inputs and outputs to a layer.
LayerTestResult< float, 4 > SubtractionBroadcastTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > SubtractionBroadcastUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< armnn::Half, 4 > SubtractionFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)