Software / code / prosody
Annotate
util/bit53.lua @ 13611:3a23116cf063
mod_storage_sql: Remove the word 'error' from debug messages
The word 'error' anywhere, especially in harmless debug messages, are
too often interpreted as fatal errors my some users, so best avoid that
word. These look too scary as it is, being tracebacks.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 08 Jan 2025 22:30:30 +0100 |
| parent | 13449:9912baa541c0 |
| rev | line source |
|---|---|
|
10241
48f7cda4174d
util.bitops: Library to find appropriate bitwise library (closes #1395)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 -- Only the operators needed by net.websocket.frames are provided at this point |
|
48f7cda4174d
util.bitops: Library to find appropriate bitwise library (closes #1395)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 return { |
|
12365
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
3 band = function (a, b, ...) |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
4 local ret = a & b; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
5 if ... then |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
6 for i = 1, select("#", ...) do |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
7 ret = ret & (select(i, ...)); |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
8 end |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
9 end |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
10 return ret; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
11 end; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
12 bor = function (a, b, ...) |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
13 local ret = a | b; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
14 if ... then |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
15 for i = 1, select("#", ...) do |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
16 ret = ret | (select(i, ...)); |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
17 end |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
18 end |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
19 return ret; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
20 end; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
21 bxor = function (a, b, ...) |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
22 local ret = a ~ b; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
23 if ... then |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
24 for i = 1, select("#", ...) do |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
25 ret = ret ~ (select(i, ...)); |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
26 end |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
27 end |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
28 return ret; |
|
af02b033bd7f
util.bit53: Support for more than 2 arguments, for compat with bit32
Matthew Wild <mwild1@gmail.com>
parents:
12358
diff
changeset
|
29 end; |
|
13449
9912baa541c0
util.bit53: Add bnot() method
Matthew Wild <mwild1@gmail.com>
parents:
12365
diff
changeset
|
30 bnot = function (x) |
|
9912baa541c0
util.bit53: Add bnot() method
Matthew Wild <mwild1@gmail.com>
parents:
12365
diff
changeset
|
31 return ~x; |
|
9912baa541c0
util.bit53: Add bnot() method
Matthew Wild <mwild1@gmail.com>
parents:
12365
diff
changeset
|
32 end; |
|
12358
d77d8fba44ad
util.bit53: Add left- and right shift operations
Kim Alvefur <zash@zash.se>
parents:
10241
diff
changeset
|
33 rshift = function (a, n) return a >> n end; |
|
d77d8fba44ad
util.bit53: Add left- and right shift operations
Kim Alvefur <zash@zash.se>
parents:
10241
diff
changeset
|
34 lshift = function (a, n) return a << n end; |
|
10241
48f7cda4174d
util.bitops: Library to find appropriate bitwise library (closes #1395)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 }; |
|
48f7cda4174d
util.bitops: Library to find appropriate bitwise library (closes #1395)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 |