#define BITSET(var, mask, flag) ((var) ^ (-(flag) ^ (var)) & (mask))
#endif
+ERASEABLE
int lowestbit(int f)
{
f &= ~(f << 1);
return f;
}
+ERASEABLE
int randombit(int bits)
{
if (!(bits & (bits - 1))) // this ONLY holds for powers of two!
return b;
}
+ERASEABLE
int randombits(int bits, int k, bool error_return)
{
int r = 0;
OP_MINUS
};
+ERASEABLE
bool GiveBit(entity e, .int fld, int bit, int op, int val)
{
int v0 = (e.(fld) & bit);
return v0 != v1;
}
+ERASEABLE
bool GiveValue(entity e, .int fld, int op, int val)
{
int v0 = e.(fld);