summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/l-macro-imp-optimize.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/l-macro-imp-optimize.lua')
-rw-r--r--tex/context/base/mkiv/l-macro-imp-optimize.lua26
1 files changed, 15 insertions, 11 deletions
diff --git a/tex/context/base/mkiv/l-macro-imp-optimize.lua b/tex/context/base/mkiv/l-macro-imp-optimize.lua
index 982548785..7d7fafefd 100644
--- a/tex/context/base/mkiv/l-macro-imp-optimize.lua
+++ b/tex/context/base/mkiv/l-macro-imp-optimize.lua
@@ -47,17 +47,21 @@ if LUAVERSION >= 5.3 and lua.macros then
-- ]]
lua.macros.resolvestring [[
-#define band(a,b) (a&b)
-#define bnot(a) (~a&0xFFFFFFFF)
-#define bor(a,b) ((a|b)&0xFFFFFFFF)
-#define btest(a,b) ((a&b)~=0)
-#define bxor(a,b) ((a~b)&0xFFFFFFFF)
-#define rshift(a,b) ((a&b)~=0)
-#define extract(a,b,c) ((a>>b)&~(-1<<c))
-#define extract(a,b) ((a>>b)&0x1)
-#define lshift(a,b) ((a<<b)&0xFFFFFFFF)
-#define rshift(a,b) ((a>>b)&0xFFFFFFFF)
-#define intdiv(a,b) (a//b)
+#define band(a,b) ((a)&(b))
+#define bnot(a) (~(a)&0xFFFFFFFF)
+#define bor(a,b) (((a)|(b))&0xFFFFFFFF)
+#define btest(a,b) (((a)&(b))~=0)
+#define bxor(a,b) (((a)~(b))&0xFFFFFFFF)
+#define rshift(a,b) (((a)&(b))~=0)
+#define extract(a,b,c) (((a)>>(b))&~(-1<<(c)))
+#define extract(a,b) (((a)>>(b))&0x1)
+#define extract1(a,b) ((a >> b) & 0x01)
+#define extract2(a,b) ((a >> b) & 0x03)
+#define extract4(a,b) ((a >> b) & 0x0F)
+#define lshift(a,b) (((a)<<(b))&0xFFFFFFFF)
+#define rshift(a,b) (((a)>>(b))&0xFFFFFFFF)
+#define intdiv(a,b) ((a)//(b))
+#define idiv(a,b) ((a)//(b))
]]
end