mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-14 12:10:23 +07:00
more bits for version
This commit is contained in:
@@ -7,6 +7,31 @@ do
|
||||
assert(e1 ~= e2)
|
||||
end
|
||||
|
||||
do
|
||||
local i = evo.id()
|
||||
|
||||
for _ = 1, 0xFFE do
|
||||
local _, v0 = evo.unpack(i)
|
||||
evo.destroy(i)
|
||||
i = evo.id()
|
||||
local _, v1 = evo.unpack(i)
|
||||
assert(v1 == v0 + 1)
|
||||
end
|
||||
|
||||
do
|
||||
local _, v = evo.unpack(i)
|
||||
assert(v == 0xFFF)
|
||||
end
|
||||
|
||||
evo.destroy(i)
|
||||
i = evo.id()
|
||||
|
||||
do
|
||||
local _, v = evo.unpack(i)
|
||||
assert(v == 1)
|
||||
end
|
||||
end
|
||||
|
||||
do
|
||||
do
|
||||
local i0 = evo.id(0)
|
||||
@@ -5055,9 +5080,9 @@ do
|
||||
end
|
||||
|
||||
do
|
||||
local id = evo.pack(0xFFFFF, 0x7FF)
|
||||
local id = evo.pack(0xFFFFF, 0xFFF)
|
||||
local index, version = evo.unpack(id)
|
||||
assert(index == 0xFFFFF and version == 0x7FF)
|
||||
assert(index == 0xFFFFF and version == 0xFFF)
|
||||
end
|
||||
|
||||
do
|
||||
|
||||
@@ -247,7 +247,7 @@ local function __release_id(id)
|
||||
__lua_error('id is not acquired or already released')
|
||||
end
|
||||
|
||||
shifted_version = shifted_version == 0x7FF00000
|
||||
shifted_version = shifted_version == 0xFFF00000
|
||||
and 0x100000
|
||||
or shifted_version + 0x100000
|
||||
|
||||
@@ -4507,8 +4507,8 @@ __evolved_pack = function(index, version)
|
||||
__lua_error('id index out of range [1;0xFFFFF]')
|
||||
end
|
||||
|
||||
if version < 1 or version > 0x7FF then
|
||||
__lua_error('id version out of range [1;0x7FF]')
|
||||
if version < 1 or version > 0xFFF then
|
||||
__lua_error('id version out of range [1;0xFFF]')
|
||||
end
|
||||
|
||||
local shifted_version = version * 0x100000
|
||||
|
||||
Reference in New Issue
Block a user