mirror of https://github.com/swig/swig.git
31 lines
602 B
Lua
31 lines
602 B
Lua
require("anonymous_bitfield")
|
|
|
|
local foo = anonymous_bitfield.Foo()
|
|
assert(foo ~= nil)
|
|
|
|
-- Store and verify bound values
|
|
foo.f = 1
|
|
foo.x = 4
|
|
foo.y = 3
|
|
foo.z = 8
|
|
foo.seq = 3
|
|
assert(foo.f == 1)
|
|
assert(foo.x == 4)
|
|
assert(foo.y == 3)
|
|
assert(foo.z == 8)
|
|
assert(foo.seq == 3)
|
|
|
|
-- Strore overflow values
|
|
foo.f = 3 -- 1 + 2 ^ 1
|
|
foo.x = 17 -- 1 + 2 ^ 4
|
|
foo.y = 17 -- 1 + 2 ^ 4
|
|
foo.z = 32769 -- 1 + 2 ^ 15
|
|
foo.seq = 67108865 -- 1 + 2 ^ (4 * 8 - 6)
|
|
|
|
-- Assure we overflow properly
|
|
assert(foo.f == 1)
|
|
assert(foo.x == 1)
|
|
assert(foo.y == 1)
|
|
assert(foo.z == 1)
|
|
assert(foo.seq == 1)
|