Changes in uspace/lib/c/include/bitops.h [63f8966:64e6945d] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/bitops.h
r63f8966 r64e6945d 38 38 #include <sys/types.h> 39 39 40 /** Mask with bit @a n set. */ 41 #define BIT_V(type, n) \ 42 ((type)1 << ((n) - 1)) 43 44 /** Mask with rightmost @a n bits set. */ 45 #define BIT_RRANGE(type, n) \ 46 (BIT_V(type, (n) + 1) - 1) 47 48 /** Mask with bits @a hi .. @a lo set. @a hi >= @a lo. */ 49 #define BIT_RANGE(type, hi, lo) \ 50 (BIT_RRANGE(type, (hi) - (lo) + 1) << (lo)) 51 52 /** Extract range of bits @a hi .. @a lo from @a value. */ 53 #define BIT_RANGE_EXTRACT(type, hi, lo, value) \ 54 (((value) >> (lo)) & BIT_RRANGE(type, (hi) - (lo) + 1)) 40 55 41 56 /** Return position of first non-zero bit from left (i.e. [log_2(arg)]).
Note:
See TracChangeset
for help on using the changeset viewer.