Page 1 of 1

Few bitmask macro's

Posted: Sat May 23, 2020 2:58 pm
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