#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;
return r;
}
+/*
void randombit_test(int bits, int iter)
{
while (iter > 0)
--iter;
}
}
+*/
enum {
OP_SET,
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);