1if not modules then modules = { } end modules ['l-macro-imp-optimize'] = {
2 version = 1.001,
3 comment = "companion to luat-lib.mkiv",
4 author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5 copyright = "PRAGMA ADE / ConTeXt Development Team",
6 license = "see context related readme files"
7}
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23if LUAVERSION >= 5.3 and lua.macros then
24
25
26
27 lua.macros.enabled = true
28
29
30
31
32
33
34
35
36lua.macros.resolvestring [[
37#define band(a,b) ((a)&(b))
38#define bnot(a) (~(a)&0xFFFFFFFF)
39#define bor(a,b) (((a)|(b))&0xFFFFFFFF)
40#define btest(a,b) (((a)&(b))~=0)
41#define bxor(a,b) (((a)~(b))&0xFFFFFFFF)
42#define extract(a,b,c) (((a)>>(b))&~(-1<<(c)))
43#define extract(a,b) (((a)>>(b))&0x1)
44#define extract1(a,b) ((a >> b) & 0x01)
45#define extract2(a,b) ((a >> b) & 0x03)
46#define extract4(a,b) ((a >> b) & 0x0F)
47#define extract8(a,b) ((a >> b) & 0xFF)
48#define lshift(a,b) (((a)<<(b))&0xFFFFFFFF)
49#define rshift(a,b) (((a)>>(b))&0xFFFFFFFF)
50#define intdiv(a,b) ((a)//(b))
51#define idiv(a,b) ((a)//(b))
52]]
53
54end
55 |