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)
|
assert(e1 ~= e2)
|
||||||
end
|
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
|
||||||
do
|
do
|
||||||
local i0 = evo.id(0)
|
local i0 = evo.id(0)
|
||||||
@@ -5055,9 +5080,9 @@ do
|
|||||||
end
|
end
|
||||||
|
|
||||||
do
|
do
|
||||||
local id = evo.pack(0xFFFFF, 0x7FF)
|
local id = evo.pack(0xFFFFF, 0xFFF)
|
||||||
local index, version = evo.unpack(id)
|
local index, version = evo.unpack(id)
|
||||||
assert(index == 0xFFFFF and version == 0x7FF)
|
assert(index == 0xFFFFF and version == 0xFFF)
|
||||||
end
|
end
|
||||||
|
|
||||||
do
|
do
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ local function __release_id(id)
|
|||||||
__lua_error('id is not acquired or already released')
|
__lua_error('id is not acquired or already released')
|
||||||
end
|
end
|
||||||
|
|
||||||
shifted_version = shifted_version == 0x7FF00000
|
shifted_version = shifted_version == 0xFFF00000
|
||||||
and 0x100000
|
and 0x100000
|
||||||
or shifted_version + 0x100000
|
or shifted_version + 0x100000
|
||||||
|
|
||||||
@@ -4507,8 +4507,8 @@ __evolved_pack = function(index, version)
|
|||||||
__lua_error('id index out of range [1;0xFFFFF]')
|
__lua_error('id index out of range [1;0xFFFFF]')
|
||||||
end
|
end
|
||||||
|
|
||||||
if version < 1 or version > 0x7FF then
|
if version < 1 or version > 0xFFF then
|
||||||
__lua_error('id version out of range [1;0x7FF]')
|
__lua_error('id version out of range [1;0xFFF]')
|
||||||
end
|
end
|
||||||
|
|
||||||
local shifted_version = version * 0x100000
|
local shifted_version = version * 0x100000
|
||||||
|
|||||||
Reference in New Issue
Block a user