X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fmacros.h;h=e6706f648f66006810ba009c78d42115afead3f1;hb=ee2224fc0ae7d386a0ab4fc3dd49a8fbab39706a;hp=caa2340f4792bedae0214eabbeb94b3bd73bea68;hpb=cba26286807ebe6b31c31d165677271de0417def;p=bertos.git diff --git a/bertos/cfg/macros.h b/bertos/cfg/macros.h index caa2340f..e6706f64 100644 --- a/bertos/cfg/macros.h +++ b/bertos/cfg/macros.h @@ -30,9 +30,12 @@ * * --> * + * \defgroup macros General purpose macros + * \ingroup core + * \{ + * * \brief Common and handy function macros * - * \version $Id$ * \author Bernie Innocenti * \author Giovanni Bajo */ @@ -95,6 +98,11 @@ #define MAX(a,b) (((a) > (b)) ? (a) : (b)) #endif /* !(COMPILER_STATEMENT_EXPRESSIONS && COMPILER_TYPEOF) */ +/** Align \p value to the next \p align boundary */ +#define ALIGN_UP(value, align) (((value) & ((align) - 1)) ? \ + (((value) + ((align) - 1)) & ~((align) - 1)) : \ + (value)) + /** Bound \a x between \a min and \a max. */ #define MINMAX(min,x,max) (MIN(MAX(min, x), max)) @@ -184,8 +192,7 @@ /** * Perform an integer division rounding the result to the upper int value. - * \note \a divisor should preferibly be a costant, otherwise this macro generates - * 2 division. Also divisor is evaluated twice. + * \note \a divisor is evaluated twice. */ #define DIV_ROUNDUP(dividend, divisor) (((dividend) + (divisor) - 1) / (divisor)) @@ -355,5 +362,7 @@ */ typedef uint32_t id_t; +/** \} */ //defgroup macros + #endif /* MACROS_H */