Changes in uspace/lib/c/include/bitops.h [64e6945d:63f8966] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/bitops.h
r64e6945d r63f8966 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))55 40 56 41 /** Return position of first non-zero bit from left (i.e. [log_2(arg)]).
Note:
See TracChangeset
for help on using the changeset viewer.