From 758e73e117c5cef17f8f0b1c543efc1df953b2fa Mon Sep 17 00:00:00 2001 From: Jerry Ge Date: Mon, 26 Feb 2024 13:31:22 -0800 Subject: Update ConvertU8toF16 to save outputs in F16 containers - If we save FP16 in FP32 containers, it will change byte representation - which causes wrong values after deserialization - Update the code to store F16 values in F16 containers Signed-off-by: Jerry Ge Change-Id: I2ddea67471997c596980faea1419422d96bad60d --- src/tosa_serialization_handler.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/tosa_serialization_handler.cpp b/src/tosa_serialization_handler.cpp index 453670f..749a3c8 100644 --- a/src/tosa_serialization_handler.cpp +++ b/src/tosa_serialization_handler.cpp @@ -896,8 +896,9 @@ tosa_err_t TosaSerializationHandler::ConvertBooltoU8(const std::vector& in return TOSA_OK; } -tosa_err_t - TosaSerializationHandler::ConvertU8toF16(const std::vector& in, uint32_t out_size, std::vector& out) +tosa_err_t TosaSerializationHandler::ConvertU8toF16(const std::vector& in, + uint32_t out_size, + std::vector& out) { // Note: fp16 values returned in fp32 type out.clear(); @@ -916,8 +917,7 @@ tosa_err_t // Reinterpret u16 byte as fp16 then convert to fp32 half_float::half val_f16 = *(half_float::half*)&val_u16; - float val_fp32 = half_float::half_cast(val_f16); - out.push_back(val_fp32); + out.push_back(val_f16); } return TOSA_OK; } -- cgit v1.2.1