Bit Manipulation
Description
Bitwise operations.
Macros |
|
#define | SL_SET_BIT (val, mask) ((val) = ((val) | (mask))) |
Set specified bit(s) in a value.
|
|
#define | SL_CLEAR_BIT (val, mask) ((val) = ((val) & (~(mask)))) |
Clear specified bit(s) in a value.
|
|
#define | SL_IS_BIT_SET (val, mask) (((((val) & (mask)) == (mask)) && ((mask) != 0u)) ? (true) : (false)) |
Determine whether the specified bit(s) in a value are set.
|
|
#define | SL_IS_BIT_CLEAR (val, mask) (((((val) & (mask)) == 0u) && ((mask) != 0u)) ? (true) : (false)) |
Determine whether the specified bit(s) in a value are clear.
|
|
#define | SL_IS_ANY_BIT_SET (val, mask) ((((val) & (mask)) == 0u) ? (false) : (true)) |
Determine whether any specified bit(s) in a value are set.
|
|
#define | SL_IS_ANY_BIT_CLEAR (val, mask) ((((val) & (mask)) == (mask)) ? (false) : (true)) |
Determine whether any specified bit(s) in a value are clear.
|
|
Macro Definition Documentation
◆ SL_SET_BIT
#define SL_SET_BIT | ( |
val,
|
|
mask
|
|||
) | ((val) = ((val) | (mask))) |
Set specified bit(s) in a value.
SL_SET_BIT()
- Parameters
-
val
Value to modify by setting specified bit(s). mask
Mask of bits to set.
- Returns
- Modified value with specified bit(s) set.
- Note
- 'val' & 'mask' SHOULD be unsigned integers.
◆ SL_CLEAR_BIT
#define SL_CLEAR_BIT | ( |
val,
|
|
mask
|
|||
) | ((val) = ((val) & (~(mask)))) |
Clear specified bit(s) in a value.
SL_CLEAR_BIT()
- Parameters
-
val
Value to modify by clearing specified bit(s). mask
Mask of bits to clear.
- Returns
- Modified value with specified bit(s) clear.
- Note
- 'val' & 'mask' SHOULD be unsigned integers.
- 'mask' SHOULD be cast with the same data type than 'val'.
◆ SL_IS_BIT_SET
#define SL_IS_BIT_SET | ( |
val,
|
|
mask
|
|||
) | (((((val) & (mask)) == (mask)) && ((mask) != 0u)) ? (true) : (false)) |
Determine whether the specified bit(s) in a value are set.
SL_IS_BIT_SET()
- Parameters
-
val
Value to check for specified bit(s) set. mask
Mask of bits to check if set.
- Returns
-
true, if ALL specified bit(s) are set in value.
false, if ALL specified bit(s) are NOT set in value.
- Note
- 'val' & 'mask' SHOULD be unsigned integers.
- NULL 'mask' allowed; returns 'false' since NO mask bits specified.
◆ SL_IS_BIT_CLEAR
#define SL_IS_BIT_CLEAR | ( |
val,
|
|
mask
|
|||
) | (((((val) & (mask)) == 0u) && ((mask) != 0u)) ? (true) : (false)) |
Determine whether the specified bit(s) in a value are clear.
SL_IS_BIT_CLEAR()
- Parameters
-
val
Value to check for specified bit(s) clear. mask
Mask of bits to check if clear.
- Returns
-
true, if ALL specified bit(s) are clear in value.
false, if ALL specified bit(s) are NOT clear in value.
- Note
- val' & 'mask' SHOULD be unsigned integers.
- NULL 'mask' allowed; returns 'false' since NO mask bits specified.
◆ SL_IS_ANY_BIT_SET
#define SL_IS_ANY_BIT_SET | ( |
val,
|
|
mask
|
|||
) | ((((val) & (mask)) == 0u) ? (false) : (true)) |
Determine whether any specified bit(s) in a value are set.
SL_IS_ANY_BIT_SET()
- Parameters
-
val
Value to check for specified bit(s) set. mask
Mask of bits to check if set (see Note #2).
- Returns
-
true, if ANY specified bit(s) are set in value.
false, if ALL specified bit(s) are NOT set in value.
- Note
- 'val' & 'mask' SHOULD be unsigned integers.
- NULL 'mask' allowed; returns 'false' since NO mask bits specified.
◆ SL_IS_ANY_BIT_CLEAR
#define SL_IS_ANY_BIT_CLEAR | ( |
val,
|
|
mask
|
|||
) | ((((val) & (mask)) == (mask)) ? (false) : (true)) |
Determine whether any specified bit(s) in a value are clear.
SL_IS_ANY_BIT_CLEAR()
- Parameters
-
val
Value to check for specified bit(s) clear. mask
Mask of bits to check if clear (see Note #2).
- Returns
-
true, if ANY specified bit(s) are clear in value.
false, if ALL specified bit(s) are NOT clear in value.
- Note
- 'val' & 'mask' SHOULD be unsigned integers.
- NULL 'mask' allowed; returns 'false' since NO mask bits specified.