Few bitmask macro's

Share your advanced PureBasic knowledge/code with the community.
Rinzwind
Enthusiast
Enthusiast
Posts: 638
Joined: Wed Mar 11, 2009 4:06 pm
Location: NL

Few bitmask macro's

Post by Rinzwind »

Code: Select all

Macro SetFlag(value, flag)
  value = value | (flag)
EndMacro

Macro ClearFlag(value, flag)
  value = value & (~flag)
EndMacro

Macro ToggleFlag(value, flag)
  value = value ! (flag)
EndMacro

Macro IsAnyFlagSet(value, flag)
  Bool(value & (flag))
EndMacro

Macro AreAllFlagsSet(value, flag)
  Bool(value = (flag))
EndMacro

Macro AreAllFlagsNotSet(value, flag)
  Bool((value & (flag)) = 0)  
EndMacro