127 lines
2.8 KiB
Plaintext
127 lines
2.8 KiB
Plaintext
note
|
|
description: "Summary description for {TEST_INTEGER_X_LOGIC}."
|
|
author: ""
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
TEST_INTEGER_X_LOGIC
|
|
|
|
inherit
|
|
EQA_TEST_SET
|
|
INTEGER_X_LOGIC
|
|
undefine
|
|
default_create
|
|
end
|
|
|
|
feature
|
|
|
|
test_xor_1
|
|
local
|
|
one: INTEGER_X
|
|
two: INTEGER_X
|
|
three: INTEGER_X
|
|
expected: INTEGER_X
|
|
do
|
|
create one
|
|
create two.make_from_hex_string ("7253bba0 7253bba0 7253bba0 7253bba0 7253bba0")
|
|
create three.make_from_hex_string ("5fc2780a 6f778235 9540faf2 7bc9cdab cb929ddd")
|
|
create expected.make_from_hex_string ("2d91c3aa 1d243995 e7134152 099a760b b9c1267d")
|
|
bit_xor (one, two, three)
|
|
assert ("test xor 1", one ~ expected)
|
|
end
|
|
|
|
test_xor_lshift_1
|
|
local
|
|
one: INTEGER_X
|
|
two: INTEGER_X
|
|
three: INTEGER_X
|
|
expected: INTEGER_X
|
|
do
|
|
create one
|
|
create two.make_from_hex_string ("7253bba0 7253bba0 7253bba0 7253bba0 7253bba0")
|
|
create three.make_from_hex_string ("5fc2780a 6f778235 9540faf2 7bc9cdab cb929ddd")
|
|
create expected.make_from_hex_string ("5fc2 780a6f77 f0662ee0 88a1c069 bff87032 ef8ebba0 7253bba0")
|
|
bit_xor_lshift (one, two, three, 48)
|
|
assert ("test xor lshift 1", one ~ expected)
|
|
end
|
|
|
|
test_walking_xor_1
|
|
local
|
|
i: INTEGER
|
|
ones: INTEGER_X
|
|
zero: INTEGER_X
|
|
cursor: INTEGER_X
|
|
xored: INTEGER_X
|
|
j: INTEGER
|
|
do
|
|
create zero
|
|
create ones.make_from_hex_string ("ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff")
|
|
from
|
|
i := 0
|
|
until
|
|
i >= 256
|
|
loop
|
|
cursor := zero.bit_complement_value (i)
|
|
xored := cursor.bit_xor_value (ones)
|
|
from
|
|
j := 0
|
|
until
|
|
j >= 256
|
|
loop
|
|
assert ("test walking xor 1 iteration: " + i.out, (j /= i) = xored.bit_test (j))
|
|
j := j + 1
|
|
end
|
|
i := i + 1
|
|
end
|
|
end
|
|
|
|
test_walking_set_bit_1
|
|
local
|
|
i: INTEGER
|
|
j: INTEGER
|
|
zero: INTEGER_X
|
|
cursor: INTEGER_X
|
|
do
|
|
create zero.default_create
|
|
from
|
|
i := 0
|
|
until
|
|
i >= 256
|
|
loop
|
|
cursor := zero.set_bit_value (true, i)
|
|
from
|
|
j := 0
|
|
until
|
|
j >= 256
|
|
loop
|
|
assert ("test walking set bit 1 iteration: " + i.out, (j = i) = cursor.bit_test (j))
|
|
j := j + 1
|
|
end
|
|
i := i + 1
|
|
end
|
|
end
|
|
|
|
test_bit_clear_1
|
|
local
|
|
one: INTEGER_X
|
|
expected: INTEGER_X
|
|
do
|
|
create one.make_from_hex_string ("c 7ea29e73 e8b0ed09 f2d91bac ab1cd267 343dfdb2")
|
|
create expected.make_from_hex_string ("4 7ea29e73 e8b0ed09 f2d91bac ab1cd267 343dfdb2")
|
|
bit_clear (one, 0xa3)
|
|
assert ("test bit clear 1", one ~ expected)
|
|
end
|
|
|
|
test_bit_clear_2
|
|
local
|
|
one: INTEGER_X
|
|
expected: INTEGER_X
|
|
do
|
|
create one.make_from_hex_string ("ece1f5243f82d99431001da4573c")
|
|
one.set_bit (False, 226)
|
|
create expected.make_from_hex_string ("ece1f5243f82d99431001da4573c")
|
|
assert ("test bit clear 2", one ~ expected)
|
|
end
|
|
end
|