]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Branchless BITSET
authorTimePath <andrew.hardaker1995@gmail.com>
Tue, 12 May 2015 04:03:37 +0000 (14:03 +1000)
committerTimePath <andrew.hardaker1995@gmail.com>
Tue, 12 May 2015 04:07:56 +0000 (14:07 +1000)
Kudos to graphitemaster

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