X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fmacros.h;h=17f9c6768d92db83972074b7ed26ba479f1c5451;hb=402c25d02455aa20dfd97dbe5199e714bec6ff9b;hp=0a721ac5a060f703d00a594ed9ab7cad25ae926e;hpb=1c11ac0ab0636d07db3899b02c5d89e2d0b020bc;p=bertos.git diff --git a/bertos/cfg/macros.h b/bertos/cfg/macros.h index 0a721ac5..17f9c676 100644 --- a/bertos/cfg/macros.h +++ b/bertos/cfg/macros.h @@ -192,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)) @@ -363,6 +362,14 @@ */ typedef uint32_t id_t; +/** + * Check if a pointer is aligned to a certain power-of-2 size + */ +INLINE bool is_aligned(const void *addr, size_t size) +{ + return ((size_t)addr & (size - 1)) == 0; +} + /** \} */ //defgroup macros #endif /* MACROS_H */