From aaa745c5a414e11d14f324aa57aa8d0f91294cc6 Mon Sep 17 00:00:00 2001 From: parsley Date: Mon, 10 Aug 2026 12:05:53 +0200 Subject: [PATCH] Fixed MISRA rule 12.7 violation on GX_FIXED_VAL_... macros by replacing shift operations on signed operands with mul/div operations. On these lines also rule 19.10 got addressed. --- common/inc/gx_api.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common/inc/gx_api.h b/common/inc/gx_api.h index e78d1e91..7d75b284 100644 --- a/common/inc/gx_api.h +++ b/common/inc/gx_api.h @@ -2903,14 +2903,14 @@ typedef struct GX_FIXED_POINT_STRUCT #define GX_FIXED_VAL_ONE 1024 #define GX_FIXED_VAL_FRACTION_MASK 0x3ff -#define GX_FIXED_VAL_MAKE(_a) (((int)_a) << GX_FIXED_VAL_SHIFT) -#define GX_FIXED_VAL_TO_INT(_a) ((int)(((int)_a) >> GX_FIXED_VAL_SHIFT)) -#define GX_FIXED_VAL_MUL(_a, _b) ((((int)_a) * (_b)) >> GX_FIXED_VAL_SHIFT) -#define GX_FIXED_VAL_DIV(_a, _b) ((((int)_a) << GX_FIXED_VAL_SHIFT) / ((int)_b)) -#define GX_FIXED_VAL_RND(_a) (GX_VALUE)((((GX_FIXED_VAL)_a) + GX_FIXED_VAL_HALF) >> GX_FIXED_VAL_SHIFT) -#define GX_FIXED_VAL_RND_UP(_a) ((((GX_FIXED_VAL)_a) + GX_FIXED_VAL_ONE - 1) >> GX_FIXED_VAL_SHIFT) -#define GX_FIXED_VAL_ADD_ONE(_a) (((int)_a) + GX_FIXED_VAL_ONE) -#define GX_FIXED_VAL_SUB_ONE(_a) (((int)_a) - GX_FIXED_VAL_ONE) +#define GX_FIXED_VAL_MAKE(_a) (((int)(_a)) * GX_FIXED_VAL_ONE) +#define GX_FIXED_VAL_TO_INT(_a) ((int)(((int)(_a)) / GX_FIXED_VAL_ONE)) +#define GX_FIXED_VAL_MUL(_a, _b) ((((int)(_a)) * (_b)) / GX_FIXED_VAL_ONE) +#define GX_FIXED_VAL_DIV(_a, _b) ((((int)(_a)) * GX_FIXED_VAL_ONE) / ((int)(_b))) +#define GX_FIXED_VAL_RND(_a) (GX_VALUE)((((GX_FIXED_VAL)(_a)) + GX_FIXED_VAL_HALF) / GX_FIXED_VAL_ONE) +#define GX_FIXED_VAL_RND_UP(_a) ((((GX_FIXED_VAL)(_a)) + GX_FIXED_VAL_ONE - 1) / GX_FIXED_VAL_ONE) +#define GX_FIXED_VAL_ADD_ONE(_a) (((int)(_a)) + GX_FIXED_VAL_ONE) +#define GX_FIXED_VAL_SUB_ONE(_a) (((int)(_a)) - GX_FIXED_VAL_ONE) /* Define the system API mappings based on the error checking selected by the user. Note: this section is only applicable to