Release 18.03
[platform/upstream/armnn.git] / src / armnn / backends / RefWorkloads / RefMultiplicationFloat32Workload.cpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
4 //
5
6 #include "RefMultiplicationFloat32Workload.hpp"
7
8 #include "Multiplication.hpp"
9 #include "RefWorkloadUtils.hpp"
10
11 #include "Profiling.hpp"
12
13 namespace armnn
14 {
15
16 void RefMultiplicationFloat32Workload::Execute() const
17 {
18     ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefMultiplicationFloat32Workload_Execute");
19
20     const TensorShape& inShape0 = GetTensorInfo(m_Data.m_Inputs[0]).GetShape();
21     const TensorShape& inShape1 = GetTensorInfo(m_Data.m_Inputs[1]).GetShape();
22     const TensorShape& outShape = GetTensorInfo(m_Data.m_Outputs[0]).GetShape();
23
24     float* outputData = GetOutputTensorDataFloat(0, m_Data);
25     const float* inputData0 = GetInputTensorDataFloat(0, m_Data);
26     const float* inputData1 = GetInputTensorDataFloat(1, m_Data);
27
28     Multiplication(inShape0, inShape1, outShape, inputData0, inputData1, outputData);
29 }
30
31 } //namespace armnn