-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbitmagic.decls
More file actions
98 lines (61 loc) · 3.06 KB
/
Copy pathbitmagic.decls
File metadata and controls
98 lines (61 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
.lib "bitmagic.dll"
;; ====
Ack%(i%,j%) ; "_Ack@8" ;; Ackermann Function
BinToGray%(n%) ; "_BinToGray@4" ;; convert binary value to Gray code
GrayToBin%(n%) ; "_GrayToBin@4" ;; convert gray code to binary value
bitcount8A%(n%) ; "_bitcount8A@4"
bitcount8B%(n%) ; "_bitcount8B@4"
bitcount16A%(n%) ; "_bitcount16A@4"
bitcount32A%(n%) ; "_bitcount32A@4"
bitcount32B%(n%) ; "_bitcount32B@4"
bitcountbyteA%(n%) ; "_bitcountbyteA@4"
bitnot16%(n%) ; "_bitnot16@4"
bitnot32%(n%) ; "_bitnot32@4"
bitnot8%(n%) ; "_bitnot8@4"
bswap%(v%) ;;; ... requires 486+
bubblesortINT%(array*, arraysize%)
evenparitybyte%(n%) ; "_evenparitybyte@4"
evenparitybyteT%(n%) ; "_evenparitybyteT@4"
fast_FNV1% ( buffer*, length%, basis%)
fast_FNV1a%( buffer*, length%, basis%)
fast_FNV% ( buffer*, length%, basis%)
get_bitcountTable%() ; "_get_bitcountTable@0"
get_oddparityTable%() ; "_get_oddparityTable@0"
get_onesTable%() ; "_get_onesTable@0"
get_power2Table%() ; "_get_power2Table@0"
get_reversebitsTable%() ; "_get_reversebitsTable@0"
get_reversebyteTable%() ; "_get_reversebyteTable@4"
oddparity32T%(n%) ; "_oddparity32T@4"
oddparity32Ta%(n%) ; "_oddparity32Ta@4"
oddparity32Tb%(n%) ; "_oddparity32Tb@4"
oddparitybyte%(n%) ; "_oddparitybyte@4"
oddparitybyteF%(n%) ; "_oddparitybyteF@4"
oddparitybyteT%(n%) ; "_oddparitybyteT@4"
onesT%(n%) ; "_onesT@4"
power2T%(n%) ; "_power2T@4"
reversebits32%(n%) ; "_reversebits32@4"
reversebits32M%(n%) ; "_reversebits32M@4" ;; is 10X SLOWER than reversebits32Q
reversebits32Q%(n%) ; "_reversebits32Q@4"
reversebits32T%(n%) ; "_reversebits32T@4" ;; is 9X faster than reversebits32Q
reversebyteQ%(n%) ; "_reversebyteQ@4"
reversebytes16%(n%) ; "_reversebytes16@4"
reversebytes32%(n%) ; "_reversebytes32@4"
reversebytesI%(n%) ; "_reversebytesI@4"
reversebytesSh%(n%) ; "_reversebytesSh@4"
reversebyteT%(n%) ; "_reversebyteT@4" ;; is faster than reversebyteQ
rol%(n%, rotcount%) ; "_rol@8"
ror%(n%, rotcount%) ; "_ror@8" ;; acts on 32-bit values
ror_op%(n%, rotcount%, opsize%) ; "_ror_op@12"
rol_op%(n%, rotcount%, opsize%) ; "_rol_op@12"
ror32_Least5bits%(n%) ; "_ror32_Least5bits@4" ;;
ror_mem_op%(mem*, rotcount%, opsize%) ; "_ror_mem_op@12"
rol_mem_op%(mem*, rotcount%, opsize%) ; "_rol_mem_op@12"
SwapEndian%(n%) ; "_reversebytes32@4" ;; SwapEndian = reversebytes
interleave2Bytes%(x%,y%) ; "_interleave2Bytes@8"
interleave2Shorts%(x%,y%) ; "_interleave2Shorts@8"
interleave2ShortsM%(x%,y%) ; "_interleave2ShortsM@8"
interleave2Shorts_obvious%(x%,y%) ; "_interleave2Shorts_obvious@8"
trailingzeroes%(x%) ; "_trailingzeroes@4" ;; retrieves number of trailing zeroes
leadingzeroes%(x%) ; "_leadingzeroes@4" ;; retrieves number of leading zeroes
lexi_next_bit_permutation%(x%) ; "_lexi_next_bit_permutation@4"
nextpowerofTwo%(x%) ; "_nextpowerofTwo@4"