diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/context/lua/mtxrun.lua | 20 | ||||
-rw-r--r-- | scripts/context/stubs/mswin/mtxrun.lua | 20 | ||||
-rw-r--r-- | scripts/context/stubs/unix/mtxrun | 20 |
3 files changed, 42 insertions, 18 deletions
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index a72c56251..2f81b4629 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -1899,16 +1899,24 @@ function number.clearbit(x, p) return hasbit(x, p) and x - p or x end + function number.tobitstring(n) if n == 0 then - return "0" + return "00000000" else - local t = { } + tc = 0 + t = {} while n > 0 do - insert(t,1,n % 2 > 0 and 1 or 0) - n = floor(n/2) - end - return concat(t) + table.insert(t,1,n % 2 > 0 and 1 or 0) + n = math.floor(n/2) + tc = tc + 1 + end + while tc % 8 > 0 do + table.insert(t,1,0) + tc = tc + 1 + end + n = table.concat(t) + return n end end diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index a72c56251..2f81b4629 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -1899,16 +1899,24 @@ function number.clearbit(x, p) return hasbit(x, p) and x - p or x end + function number.tobitstring(n) if n == 0 then - return "0" + return "00000000" else - local t = { } + tc = 0 + t = {} while n > 0 do - insert(t,1,n % 2 > 0 and 1 or 0) - n = floor(n/2) - end - return concat(t) + table.insert(t,1,n % 2 > 0 and 1 or 0) + n = math.floor(n/2) + tc = tc + 1 + end + while tc % 8 > 0 do + table.insert(t,1,0) + tc = tc + 1 + end + n = table.concat(t) + return n end end diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index a72c56251..2f81b4629 100644 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -1899,16 +1899,24 @@ function number.clearbit(x, p) return hasbit(x, p) and x - p or x end + function number.tobitstring(n) if n == 0 then - return "0" + return "00000000" else - local t = { } + tc = 0 + t = {} while n > 0 do - insert(t,1,n % 2 > 0 and 1 or 0) - n = floor(n/2) - end - return concat(t) + table.insert(t,1,n % 2 > 0 and 1 or 0) + n = math.floor(n/2) + tc = tc + 1 + end + while tc % 8 > 0 do + table.insert(t,1,0) + tc = tc + 1 + end + n = table.concat(t) + return n end end |