[v5,16/16] ipa: libipa: fixedpoint: Remove unsigned workaround
diff mbox series

Message ID 20260114173918.1744023-17-kieran.bingham@ideasonboard.com
State New
Headers show
Series
  • libipa: Introduce a Quantized type
Related show

Commit Message

Kieran Bingham Jan. 14, 2026, 5:39 p.m. UTC
Now that we no longer attempt or allow storing signed negative floats
as an unsigned integer representation, remove the workaround which
required an intermediate cast when converting floats to fixed point values.

Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/ipa/libipa/fixedpoint.h | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

Patch
diff mbox series

diff --git a/src/ipa/libipa/fixedpoint.h b/src/ipa/libipa/fixedpoint.h
index 1d53b0b9fdde..b4190988f1ee 100644
--- a/src/ipa/libipa/fixedpoint.h
+++ b/src/ipa/libipa/fixedpoint.h
@@ -69,12 +69,7 @@  public:
 	{
 		v = std::clamp(v, min, max);
 
-		/*
-		 * The intermediate cast to int is needed on arm platforms to
-		 * properly cast negative values. See
-		 * https://embeddeduse.com/2013/08/25/casting-a-negative-float-to-an-unsigned-int/
-		 */
-		return static_cast<T>(static_cast<int>(std::round(v * (1 << F)))) & bitMask;
+		return static_cast<T>(std::round(v * (1 << F))) & bitMask;
 	}
 };