summaryrefslogtreecommitdiff
path: root/examples/resources/lib/bitlib.lua
diff options
context:
space:
mode:
authorjussi2023-07-02 17:44:24 +0300
committerjussi2023-07-02 17:44:24 +0300
commit8ad725429292be22086d51df285907742be7a91a (patch)
tree41c13c146bb3f3f82ade36c2518d105a72b2a5dc /examples/resources/lib/bitlib.lua
parent0e77452a1b4f894e342dae5583f8b02f915e8f6d (diff)
downloadreilua-enhanced-8ad725429292be22086d51df285907742be7a91a.tar.gz
reilua-enhanced-8ad725429292be22086d51df285907742be7a91a.tar.bz2
reilua-enhanced-8ad725429292be22086d51df285907742be7a91a.zip
LuaJIT compatibility.
Diffstat (limited to 'examples/resources/lib/bitlib.lua')
-rw-r--r--examples/resources/lib/bitlib.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/resources/lib/bitlib.lua b/examples/resources/lib/bitlib.lua
new file mode 100644
index 0000000..e794d32
--- /dev/null
+++ b/examples/resources/lib/bitlib.lua
@@ -0,0 +1,23 @@
+local bitlib = {}
+
+function bitlib.setBit( v, i, b )
+ if b then
+ return v | 1 << i
+ else
+ return v & ~( 1 << i )
+ end
+end
+
+function bitlib.toggleBit( v, i )
+ return v ~ ( 1 << i )
+end
+
+function bitlib.getBit( v, i )
+ if v == nil then
+ return false
+ end
+
+ return v & ( 1 << i ) > 0
+end
+
+return bitlib \ No newline at end of file