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.lua29
1 files changed, 17 insertions, 12 deletions
diff --git a/tex/context/base/mkiv/l-macro-imp-optimize.lua b/tex/context/base/mkiv/l-macro-imp-optimize.lua
index e04b37eab..7d7fafefd 100644
--- a/tex/context/base/mkiv/l-macro-imp-optimize.lua
+++ b/tex/context/base/mkiv/l-macro-imp-optimize.lua
@@ -46,17 +46,22 @@ if LUAVERSION >= 5.3 and lua.macros then
-- #define rshift(a,b) ((a >> b) & 0xFFFFFFFF)
-- ]]
- 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)
- ]]
+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 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