Release 18.08
[platform/upstream/armnn.git] / src / armnn / backends / RefWorkloads / RefConvertFp16ToFp32Workload.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 "RefConvertFp16ToFp32Workload.hpp"
7 #include "Half.hpp"
8 #include "RefWorkloadUtils.hpp"
9 #include "FloatingPointConverter.hpp"
10
11 namespace armnn
12 {
13
14 void RefConvertFp16ToFp32Workload::Execute() const
15 {
16     ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefConvertFp16ToFp32Workload_Execute");
17
18     const Half* const input = GetInputTensorDataHalf(0, m_Data);
19     float* const output = GetOutputTensorDataFloat(0, m_Data);
20
21     unsigned int numElements = GetTensorInfo(m_Data.m_Inputs[0]).GetNumElements();
22     armnnUtils::FloatingPointConverter::ConvertFloat16To32(input, numElements, output);
23 }
24
25 } //namespace armnn