mirror of
https://github.com/nmap/nmap.git
synced 2025-12-08 13:41:29 +00:00
Convert bit ops to native
This commit is contained in:
@@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
|
|
||||||
local bin = require "bin"
|
local bin = require "bin"
|
||||||
local bit = require "bit"
|
|
||||||
local io = require "io"
|
local io = require "io"
|
||||||
local math = require "math"
|
local math = require "math"
|
||||||
local nmap = require "nmap"
|
local nmap = require "nmap"
|
||||||
@@ -137,14 +136,14 @@ fingerprint_bubblebabble = function( fingerprint, algorithm, bits )
|
|||||||
local in1,in2,idx1,idx2,idx3,idx4,idx5
|
local in1,in2,idx1,idx2,idx3,idx4,idx5
|
||||||
if i < #fingerprint or #fingerprint / 2 % 2 ~= 0 then
|
if i < #fingerprint or #fingerprint / 2 % 2 ~= 0 then
|
||||||
in1 = fingerprint:byte(i)
|
in1 = fingerprint:byte(i)
|
||||||
idx1 = (bit.band(bit.rshift(in1,6),3) + seed) % 6 + 1
|
idx1 = (((in1 >> 6) & 3) + seed) % 6 + 1
|
||||||
idx2 = bit.band(bit.rshift(in1,2),15) + 1
|
idx2 = ((in1 >> 2) & 15) + 1
|
||||||
idx3 = (bit.band(in1,3) + math.floor(seed/6)) % 6 + 1
|
idx3 = ((in1 & 3) + math.floor(seed/6)) % 6 + 1
|
||||||
s = s .. vowels[idx1] .. consonants[idx2] .. vowels[idx3]
|
s = s .. vowels[idx1] .. consonants[idx2] .. vowels[idx3]
|
||||||
if i < #fingerprint then
|
if i < #fingerprint then
|
||||||
in2 = fingerprint:byte(i+1)
|
in2 = fingerprint:byte(i+1)
|
||||||
idx4 = bit.band(bit.rshift(in2,4),15) + 1
|
idx4 = ((in2 >> 4) & 15) + 1
|
||||||
idx5 = bit.band(in2,15) + 1
|
idx5 = (in2 & 15) + 1
|
||||||
s = s .. consonants[idx4] .. '-' .. consonants[idx5]
|
s = s .. consonants[idx4] .. '-' .. consonants[idx5]
|
||||||
seed = (seed * 5 + in1 * 7 + in2) % 36
|
seed = (seed * 5 + in1 * 7 + in2) % 36
|
||||||
end
|
end
|
||||||
@@ -186,8 +185,8 @@ fingerprint_visual = function( fingerprint, algorithm, bits )
|
|||||||
input = fingerprint:byte(i)
|
input = fingerprint:byte(i)
|
||||||
-- each byte conveys four 2-bit move commands
|
-- each byte conveys four 2-bit move commands
|
||||||
for j=1,4 do
|
for j=1,4 do
|
||||||
if bit.band( input, 1) == 1 then x = x + 1 else x = x - 1 end
|
if (input & 1) == 1 then x = x + 1 else x = x - 1 end
|
||||||
if bit.band( input, 2) == 2 then y = y + 1 else y = y - 1 end
|
if (input & 2) == 2 then y = y + 1 else y = y - 1 end
|
||||||
|
|
||||||
x = math.max(x,1); x = math.min(x,fieldsize_x)
|
x = math.max(x,1); x = math.min(x,fieldsize_x)
|
||||||
y = math.max(y,1); y = math.min(y,fieldsize_y)
|
y = math.max(y,1); y = math.min(y,fieldsize_y)
|
||||||
@@ -195,7 +194,7 @@ fingerprint_visual = function( fingerprint, algorithm, bits )
|
|||||||
if field[x][y] < #characters - 2 then
|
if field[x][y] < #characters - 2 then
|
||||||
field[x][y] = field[x][y] + 1
|
field[x][y] = field[x][y] + 1
|
||||||
end
|
end
|
||||||
input = bit.rshift( input, 2 )
|
input = input >> 2
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user