]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/util-pre.qh
Branchless BITSET
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / util-pre.qh
index 91094e11f5dcb39ecdb6b1798b5812e04f962795..fbc43bdc5c8fb34c58391d9b0b7fba4eebf1bd20 100644 (file)
 #define MAP_20(f, it, ...) f(it)MAP_19(f, __VA_ARGS__)
 
 #define BIT(n) (1 << (n))
-#define BITSET(var, mask, flag) (flag ? (var) | (mask) : (var) &~ (mask))
+#ifndef BRANCHLESS_BITSET
+    #define BITSET(var, mask, flag) (flag ? (var) | (mask) : (var) &~ (mask))
+#else
+    #define BITSET(var, mask, flag) ((var) ^ (-(flag) ^ (var)) & (mask))
+#endif
 
 #endif