From 1385018a72ece9f431fba565508ada400b469201 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Fri, 13 May 2016 13:25:41 -0700 Subject: [PATCH] genxml: Use llroundf() and store to appropriate type. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Both functions return uint64_t, so I expect the masking/shifting should be done on 64-bit types. Reviewed-by: Kristian Høgsberg --- src/intel/genxml/gen_pack_header.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/intel/genxml/gen_pack_header.py b/src/intel/genxml/gen_pack_header.py index 9ef7122ae9e..47870b30cea 100644 --- a/src/intel/genxml/gen_pack_header.py +++ b/src/intel/genxml/gen_pack_header.py @@ -131,7 +131,7 @@ __gen_sfixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits) assert(min <= v && v <= max); #endif - const int32_t int_val = roundf(v * factor); + const int64_t int_val = llroundf(v * factor); const uint64_t mask = ~0ull >> (64 - (end - start + 1)); return (int_val & mask) << start; @@ -150,7 +150,7 @@ __gen_ufixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits) assert(min <= v && v <= max); #endif - const uint32_t uint_val = roundf(v * factor); + const uint64_t uint_val = llroundf(v * factor); return uint_val << start; } -- 2.30.2