X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=cfg%2Fmacros.h;h=45f0a1edfa91ba8b644d2ce34b7eb826ad6a4b33;hb=c2fdd9fdabea8688dfe7d841c53b842a1ebe8a35;hp=ba7b561dd114f576de3252e8c530e95c508bb99c;hpb=44337a63871a837011198d3708a2f1f36370a67e;p=bertos.git diff --git a/cfg/macros.h b/cfg/macros.h index ba7b561d..45f0a1ed 100755 --- a/cfg/macros.h +++ b/cfg/macros.h @@ -14,6 +14,9 @@ /*#* *#* $Log$ + *#* Revision 1.11 2007/02/06 15:22:12 asterix + *#* Add ROTL and ROTR macros for bit rotating. + *#* *#* Revision 1.10 2006/09/13 18:31:37 bernie *#* BV8(), BV16(), BV32(): New macros for CPUs with small word size; SWAP_T(): New macro to support old compilers. *#* @@ -339,5 +342,13 @@ #endif /* COMPILER_VARIADIC_MACROS */ +/** + * Macro for rotating bit left or right. + * \{ + */ +#define ROTR(var, rot) (((var) >> (rot)) | ((var) << ((sizeof(var) * 8) - (rot)))) +#define ROTL(var, rot) (((var) << (rot)) | ((var) >> ((sizeof(var) * 8) - (rot)))) +/*\}*/ + #endif /* MACROS_H */