21 #include <boost/assert.hpp> 26 template <std::size_t NumDims,
34 std::vector<InType> values0,
38 std::vector<InType> values1,
42 std::vector<uint8_t> outValues,
46 boost::ignore_unused(memoryManager);
48 armnn::TensorInfo inputTensorInfo0(shape0, ArmnnInType, quantScale0, quantOffset0);
51 armnn::TensorInfo inputTensorInfo1(shape1, ArmnnInType, quantScale1, quantOffset1);
56 auto input0 = MakeTensor<InType, NumDims>(inputTensorInfo0, values0);
57 auto input1 = MakeTensor<InType, NumDims>(inputTensorInfo1, values1);
61 std::unique_ptr<armnn::ITensorHandle> inputHandle0 = workloadFactory.
CreateTensorHandle(inputTensorInfo0);
62 std::unique_ptr<armnn::ITensorHandle> inputHandle1 = workloadFactory.
CreateTensorHandle(inputTensorInfo1);
63 std::unique_ptr<armnn::ITensorHandle> outputHandle = workloadFactory.
CreateTensorHandle(outputTensorInfo);
69 AddInputToWorkload(qDescriptor, info, inputTensorInfo0, inputHandle0.get());
70 AddInputToWorkload(qDescriptor, info, inputTensorInfo1, inputHandle1.get());
71 AddOutputToWorkload(qDescriptor, info, outputTensorInfo, outputHandle.get());
73 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateComparison(qDescriptor, info);
75 inputHandle0->Allocate();
76 inputHandle1->Allocate();
77 outputHandle->Allocate();
82 workload->PostAllocationConfigure();
83 ExecuteWorkload(*workload, memoryManager);
87 ret.outputExpected = MakeTensor<uint8_t, NumDims>(outputTensorInfo, outValues);
88 ret.compareBoolean =
true;
93 template <std::size_t NumDims,
101 std::vector<InType> values0,
103 std::vector<InType> values1,
105 std::vector<uint8_t> outValues,
106 float quantScale = 1.f,
109 return ComparisonTestImpl<NumDims, ArmnnInType>(
127 template<
typename TestData>
133 return testData.m_OutputEqual;
135 return testData.m_OutputGreater;
137 return testData.m_OutputGreaterOrEqual;
139 return testData.m_OutputLess;
141 return testData.m_OutputLessOrEqual;
144 return testData.m_OutputNotEqual;
148 template<armnn::DataType ArmnnInType,
typename TestData>
151 const TestData& testData,
153 float quantScale = 1.f,
158 std::vector<T> inputData0 = armnnUtils::QuantizedVector<T>(testData.m_InputData0, quantScale, quantOffset);
159 std::vector<T> inputData1 = armnnUtils::QuantizedVector<T>(testData.m_InputData1, quantScale, quantOffset);
161 return ComparisonTestImpl<4, ArmnnInType>(
165 testData.m_InputShape0,
167 testData.m_InputShape1,
169 testData.m_OutputShape,
170 GetExpectedOutputData(testData, operation),
175 class ComparisonTestData
178 ComparisonTestData() =
default;
179 virtual ~ComparisonTestData() =
default;
185 std::vector<float> m_InputData0;
186 std::vector<float> m_InputData1;
188 std::vector<uint8_t> m_OutputEqual;
189 std::vector<uint8_t> m_OutputGreater;
190 std::vector<uint8_t> m_OutputGreaterOrEqual;
191 std::vector<uint8_t> m_OutputLess;
192 std::vector<uint8_t> m_OutputLessOrEqual;
193 std::vector<uint8_t> m_OutputNotEqual;
196 class SimpleTestData :
public ComparisonTestData
199 SimpleTestData() : ComparisonTestData()
201 m_InputShape0 = { 2, 2, 2, 2 };
203 m_InputShape1 = m_InputShape0;
204 m_OutputShape = m_InputShape0;
208 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f,
209 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f
214 1.f, 1.f, 1.f, 1.f, 3.f, 3.f, 3.f, 3.f,
215 5.f, 5.f, 5.f, 5.f, 4.f, 4.f, 4.f, 4.f
220 1, 1, 1, 1, 0, 0, 0, 0,
221 0, 0, 0, 0, 1, 1, 1, 1
226 0, 0, 0, 0, 1, 1, 1, 1,
227 0, 0, 0, 0, 0, 0, 0, 0
230 m_OutputGreaterOrEqual =
232 1, 1, 1, 1, 1, 1, 1, 1,
233 0, 0, 0, 0, 1, 1, 1, 1
238 0, 0, 0, 0, 0, 0, 0, 0,
239 1, 1, 1, 1, 0, 0, 0, 0
242 m_OutputLessOrEqual =
244 1, 1, 1, 1, 0, 0, 0, 0,
245 1, 1, 1, 1, 1, 1, 1, 1
250 0, 0, 0, 0, 1, 1, 1, 1,
251 1, 1, 1, 1, 0, 0, 0, 0
256 class Broadcast1ElementTestData :
public ComparisonTestData
259 Broadcast1ElementTestData() : ComparisonTestData()
261 m_InputShape0 = { 1, 2, 2, 2 };
262 m_InputShape1 = { 1, 1, 1, 1 };
264 m_OutputShape = m_InputShape0;
266 m_InputData0 = { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f };
267 m_InputData1 = { 3.f };
269 m_OutputEqual = { 0, 0, 1, 0, 0, 0, 0, 0 };
270 m_OutputGreater = { 0, 0, 0, 1, 1, 1, 1, 1 };
271 m_OutputGreaterOrEqual = { 0, 0, 1, 1, 1, 1, 1, 1 };
272 m_OutputLess = { 1, 1, 0, 0, 0, 0, 0, 0 };
273 m_OutputLessOrEqual = { 1, 1, 1, 0, 0, 0, 0, 0 };
274 m_OutputNotEqual = { 1, 1, 0, 1, 1, 1, 1, 1 };
278 class Broadcast1dVectorTestData :
public ComparisonTestData
281 Broadcast1dVectorTestData() : ComparisonTestData()
283 m_InputShape0 = { 1, 2, 2, 3 };
284 m_InputShape1 = { 1, 1, 1, 3 };
286 m_OutputShape = m_InputShape0;
290 1.f, 2.f, 3.f, 4.f, 5.f, 6.f,
291 7.f, 8.f, 9.f, 10.f, 11.f, 12.f
294 m_InputData1 = { 4.f, 5.f, 6.f };
308 m_OutputGreaterOrEqual =
320 m_OutputLessOrEqual =
334 static SimpleTestData s_SimpleTestData;
335 static Broadcast1ElementTestData s_Broadcast1ElementTestData;
336 static Broadcast1dVectorTestData s_Broadcast1dVectorTestData;
344 return ComparisonTestImpl<armnn::DataType::Float32>(
355 return ComparisonTestImpl<armnn::DataType::Float32>(
358 s_Broadcast1ElementTestData,
366 return ComparisonTestImpl<armnn::DataType::Float32>(
369 s_Broadcast1dVectorTestData,
377 return ComparisonTestImpl<armnn::DataType::Float16>(
388 return ComparisonTestImpl<armnn::DataType::Float16>(
391 s_Broadcast1ElementTestData,
399 return ComparisonTestImpl<armnn::DataType::Float16>(
402 s_Broadcast1dVectorTestData,
410 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
421 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
424 s_Broadcast1ElementTestData,
432 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
435 s_Broadcast1dVectorTestData,
443 return ComparisonTestImpl<armnn::DataType::Float32>(
454 return ComparisonTestImpl<armnn::DataType::Float32>(
457 s_Broadcast1ElementTestData,
465 return ComparisonTestImpl<armnn::DataType::Float32>(
468 s_Broadcast1dVectorTestData,
476 return ComparisonTestImpl<armnn::DataType::Float16>(
487 return ComparisonTestImpl<armnn::DataType::Float16>(
490 s_Broadcast1ElementTestData,
498 return ComparisonTestImpl<armnn::DataType::Float16>(
501 s_Broadcast1dVectorTestData,
509 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
520 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
523 s_Broadcast1ElementTestData,
531 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
534 s_Broadcast1dVectorTestData,
543 return ComparisonTestImpl<armnn::DataType::Float32>(
554 return ComparisonTestImpl<armnn::DataType::Float32>(
557 s_Broadcast1ElementTestData,
565 return ComparisonTestImpl<armnn::DataType::Float32>(
568 s_Broadcast1dVectorTestData,
576 return ComparisonTestImpl<armnn::DataType::Float16>(
587 return ComparisonTestImpl<armnn::DataType::Float16>(
590 s_Broadcast1ElementTestData,
598 return ComparisonTestImpl<armnn::DataType::Float16>(
601 s_Broadcast1dVectorTestData,
609 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
620 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
623 s_Broadcast1ElementTestData,
631 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
634 s_Broadcast1dVectorTestData,
642 return ComparisonTestImpl<armnn::DataType::Float32>(
653 return ComparisonTestImpl<armnn::DataType::Float32>(
656 s_Broadcast1ElementTestData,
664 return ComparisonTestImpl<armnn::DataType::Float32>(
667 s_Broadcast1dVectorTestData,
675 return ComparisonTestImpl<armnn::DataType::Float16>(
686 return ComparisonTestImpl<armnn::DataType::Float16>(
689 s_Broadcast1ElementTestData,
697 return ComparisonTestImpl<armnn::DataType::Float16>(
700 s_Broadcast1dVectorTestData,
708 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
719 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
722 s_Broadcast1ElementTestData,
730 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
733 s_Broadcast1dVectorTestData,
742 return ComparisonTestImpl<armnn::DataType::Float32>(
753 return ComparisonTestImpl<armnn::DataType::Float32>(
756 s_Broadcast1ElementTestData,
764 return ComparisonTestImpl<armnn::DataType::Float32>(
767 s_Broadcast1dVectorTestData,
775 return ComparisonTestImpl<armnn::DataType::Float16>(
786 return ComparisonTestImpl<armnn::DataType::Float16>(
789 s_Broadcast1ElementTestData,
797 return ComparisonTestImpl<armnn::DataType::Float16>(
800 s_Broadcast1dVectorTestData,
808 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
819 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
822 s_Broadcast1ElementTestData,
830 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
833 s_Broadcast1dVectorTestData,
842 return ComparisonTestImpl<armnn::DataType::Float32>(
853 return ComparisonTestImpl<armnn::DataType::Float32>(
856 s_Broadcast1ElementTestData,
864 return ComparisonTestImpl<armnn::DataType::Float32>(
867 s_Broadcast1dVectorTestData,
875 return ComparisonTestImpl<armnn::DataType::Float16>(
886 return ComparisonTestImpl<armnn::DataType::Float16>(
889 s_Broadcast1ElementTestData,
897 return ComparisonTestImpl<armnn::DataType::Float16>(
900 s_Broadcast1dVectorTestData,
908 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
919 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
922 s_Broadcast1ElementTestData,
930 return ComparisonTestImpl<armnn::DataType::QAsymmU8>(
933 s_Broadcast1dVectorTestData,
LayerTestResult< uint8_t, 4 > GreaterOrEqualBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterSimpleFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > EqualSimpleUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
unsigned int GetNumDimensions() const
LayerTestResult< uint8_t, 4 > GreaterBroadcast1dVectorFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
LayerTestResult< uint8_t, 4 > EqualBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualSimpleFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerDescriptor m_Parameters
LayerTestResult< uint8_t, 4 > LessOrEqualBroadcast1dVectorFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualBroadcast1dVectorTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const =0
LayerTestResult< uint8_t, 4 > GreaterBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterSimpleUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > EqualBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< uint8_t, 4 > NotEqualSimpleTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > EqualBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
typename ResolveTypeImpl< DT >::Type ResolveType
LayerTestResult< uint8_t, 4 > LessBroadcast1dVectorFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualBroadcast1dVectorFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualSimpleFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessSimpleTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualBroadcast1dVectorUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterOrEqualSimpleUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterOrEqualSimpleFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterBroadcast1dVectorUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > EqualBroadcast1dVectorFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessBroadcast1dVectorUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualBroadcast1dVectorTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > EqualSimpleTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessSimpleUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualBroadcast1dVectorUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessBroadcast1dVectorTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessSimpleFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualBroadcast1ElementUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterOrEqualBroadcast1dVectorTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualSimpleUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterOrEqualBroadcast1dVectorUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterSimpleTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessOrEqualSimpleTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
virtual std::unique_ptr< IWorkload > CreateComparison(const ComparisonQueueDescriptor &descriptor, const WorkloadInfo &Info) const
LayerTestResult< uint8_t, 4 > GreaterOrEqualBroadcast1dVectorFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > EqualBroadcast1dVectorUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterBroadcast1dVectorTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > NotEqualSimpleUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterOrEqualBroadcast1ElementTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterOrEqualBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > EqualSimpleFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > LessBroadcast1ElementFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< uint8_t, 4 > GreaterOrEqualSimpleTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
A ComparisonDescriptor for the ComparisonLayer.
LayerTestResult< uint8_t, 4 > EqualBroadcast1dVectorTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)