From 57bc0796cd85115684219cf373db04c172848306 Mon Sep 17 00:00:00 2001 From: Eric Kunze Date: Wed, 25 Jan 2023 10:05:51 -0800 Subject: Update CAST fp to int rounding Use rint() instead of round() to get round to nearest even behavior Signed-off-by: Eric Kunze Change-Id: I45957be0e863de2207850b023626a7c0ea11e5eb --- reference_model/src/ops/type_conversion.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference_model/src/ops/type_conversion.cc b/reference_model/src/ops/type_conversion.cc index dbedbad..a3140c3 100644 --- a/reference_model/src/ops/type_conversion.cc +++ b/reference_model/src/ops/type_conversion.cc @@ -350,7 +350,7 @@ CastHelper::CastHelper() fcn = [](float in) -> OutEigenType { // Cast from float representation back to half_float before rounding half_float::half h = half_float::half(in); - h = std::round(h); + h = std::rint(h); OutEigenType out = half_float::half_cast(h); out = std::max(out, OutMin); out = std::min(out, OutMax); @@ -401,7 +401,7 @@ CastHelper::CastHelper() { // fp32 data converted to integer fcn = [](float in) -> OutEigenType { - OutEigenType out = std::round(in); + OutEigenType out = std::rint(in); out = std::max(out, OutMin); out = std::min(out, OutMax); return out; -- cgit v1.2.1