summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/l-macro-imp-optimize.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2018-12-17 18:19:48 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2018-12-17 18:19:48 +0100
commit15b67b20aa0d6c508578d0ca8cbdcd9cff9829a8 (patch)
treed656b4161487a8c54d954458084914c7d408aca7 /tex/context/base/mkiv/l-macro-imp-optimize.lua
parent5bb786877a5617fb8fbe3fd0e7b54fbcea3ce002 (diff)
downloadcontext-15b67b20aa0d6c508578d0ca8cbdcd9cff9829a8.tar.gz
2018-12-17 16:49:00
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