28 #ifndef CODEBASE_COMMON_UTIL_H_ 29 #define CODEBASE_COMMON_UTIL_H_ 32 #define MIN(a, b) ((a) < (b) ? (a) : (b)) 34 #define MAX(a, b) ((a) < (b) ? (b) : (a)) 48 #define CONCAT_2(p1, p2) CONCAT_2_(p1, p2) 50 #define CONCAT_2_(p1, p2) p1##p2 65 #define CONCAT_3(p1, p2, p3) CONCAT_3_(p1, p2, p3) 67 #define CONCAT_3_(p1, p2, p3) p1##p2##p3 70 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) 80 #define ROUNDED_DIV(A, B) (((A) + ((B) / 2)) / (B)) 90 #define CEIL_DIV(A, B) \ 91 (((A) + (B) - 1) / (B)) 99 #define IS_POWER_OF_TWO(A) ( ((A) != 0) && ((((A) - 1) & (A)) == 0) ) 113 #define MSEC_TO_UNITS(TIME, RESOLUTION) (((TIME) * 1000) / (RESOLUTION)) 121 #define SET_BIT_VAR(VAR, BIT_NO) (VAR | (1 << BIT_NO)) 129 #define CLR_BIT_VAR(VAR, BIT_NO) (VAR & ~(1 << BIT_NO))