From ba0991de3e0c940f25986b2636db34f5871a41dd Mon Sep 17 00:00:00 2001 From: maruncz Date: Tue, 27 Apr 2021 11:08:33 +0200 Subject: [PATCH] fixed: signed integer overflow is undefined behavior --- libfixmath/fix16.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libfixmath/fix16.h b/libfixmath/fix16.h index c6be250..eeb0b99 100644 --- a/libfixmath/fix16.h +++ b/libfixmath/fix16.h @@ -87,7 +87,7 @@ static inline fix16_t fix16_from_dbl(double a) #define F16(x) ((fix16_t)(((x) >= 0) ? ((x) * 65536.0 + 0.5) : ((x) * 65536.0 - 0.5))) static inline fix16_t fix16_abs(fix16_t x) - { return (x < 0 ? -x : x); } + { return (x < 0 ? -(uint32_t)x : x); } static inline fix16_t fix16_floor(fix16_t x) { return (x & 0xFFFF0000UL); } static inline fix16_t fix16_ceil(fix16_t x)