blob: b01246b1e9c452786bcdb036d481e840791cfe4a [file] [log] [blame]
telsoa01c577f2c2018-08-31 09:22:23 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa01c577f2c2018-08-31 09:22:23 +01004//
5
6#include "RefConvertFp16ToFp32Workload.hpp"
arovir01616e7752018-10-01 17:08:59 +01007
telsoa01c577f2c2018-08-31 09:22:23 +01008#include "RefWorkloadUtils.hpp"
9#include "FloatingPointConverter.hpp"
10
arovir01616e7752018-10-01 17:08:59 +010011#include <armnnUtils/Half.hpp>
12
telsoa01c577f2c2018-08-31 09:22:23 +010013namespace armnn
14{
15
16void RefConvertFp16ToFp32Workload::Execute() const
17{
18 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefConvertFp16ToFp32Workload_Execute");
19
20 const Half* const input = GetInputTensorDataHalf(0, m_Data);
21 float* const output = GetOutputTensorDataFloat(0, m_Data);
22
23 unsigned int numElements = GetTensorInfo(m_Data.m_Inputs[0]).GetNumElements();
24 armnnUtils::FloatingPointConverter::ConvertFloat16To32(input, numElements, output);
25}
26
27} //namespace armnn