From 16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 24 May 2018 01:37:55 -0700 Subject: systemc: Import tests from the Accellera systemc distribution. Change-Id: Iad76b398949a55d768a34d027a2d8e3739953da6 Reviewed-on: https://gem5-review.googlesource.com/10845 Reviewed-by: Giacomo Travaglini Maintainer: Gabe Black --- .../int/parse_binary_bits/test01/golden/test01.log | 325 +++++++++++++++++++++ .../int/parse_binary_bits/test01/test01.cpp | 177 +++++++++++ 2 files changed, 502 insertions(+) create mode 100644 src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/golden/test01.log create mode 100644 src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/test01.cpp (limited to 'src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01') diff --git a/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/golden/test01.log b/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/golden/test01.log new file mode 100644 index 000000000..fc31d05d2 --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/golden/test01.log @@ -0,0 +1,325 @@ +SystemC Simulation + +bu01 = 101 : 0000000000000000000000000000000000000000000000000000000000000001 : 1 +bu02 = 101 : 0000000000000000000000000000000000000000000000000000000000000001 : 1 +bu03 = 101 : 0000000000000000000000000000000000000000000000000000000000000101 : 5 +bu04 = 101 : 0000000000000000000000000000000000000000000000000000000000000101 : 5 +bu05 = 101 : 0000000000000000000000000000000000000000000000000000000000000101 : 5 +bu06 = 101 : 0000000000000000000000000000000000000000000000000000000000100101 : 25 +bu07 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu08 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu09 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu10 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu11 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu12 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu13 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu14 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu15 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu16 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu17 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu18 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu19 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu20 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu21 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu22 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu23 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu24 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu25 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu26 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu27 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu28 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu29 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu30 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu31 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu32 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu33 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu34 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu35 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu36 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu37 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu38 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu39 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu40 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu41 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu42 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu43 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu44 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu45 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu46 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu47 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu48 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu49 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu50 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu51 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu52 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu53 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu54 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu55 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu56 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu57 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu58 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu59 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu60 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu61 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu62 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu63 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 +bu64 = 101 : 0000000000000000000000000000000000000000000000000000000001100101 : 65 + +bu01 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu02 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu03 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu04 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000000001000 : 8 +bu05 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000000011000 : 18 +bu06 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000000111000 : 38 +bu07 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000001111000 : 78 +bu08 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000001111000 : 78 +bu09 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000000101111000 : 178 +bu10 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000001101111000 : 378 +bu11 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000001101111000 : 378 +bu12 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000001101111000 : 378 +bu13 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000000001101111000 : 378 +bu14 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000010001101111000 : 2378 +bu15 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000000010001101111000 : 2378 +bu16 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000001010001101111000 : a378 +bu17 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000001010001101111000 : a378 +bu18 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000000001010001101111000 : a378 +bu19 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000001001010001101111000 : 4a378 +bu20 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000001001010001101111000 : 4a378 +bu21 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000000001001010001101111000 : 4a378 +bu22 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000001001001010001101111000 : 24a378 +bu23 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000001001001010001101111000 : 24a378 +bu24 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000000101001001010001101111000 : a4a378 +bu25 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000001101001001010001101111000 : 1a4a378 +bu26 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000011101001001010001101111000 : 3a4a378 +bu27 = 11111110110111001011101010011000 : 0000000000000000000000000000000000000111101001001010001101111000 : 7a4a378 +bu28 = 11111110110111001011101010011000 : 0000000000000000000000000000000000001111101001001010001101111000 : fa4a378 +bu29 = 11111110110111001011101010011000 : 0000000000000000000000000000000000001111101001001010001101111000 : fa4a378 +bu30 = 11111110110111001011101010011000 : 0000000000000000000000000000000000001111101001001010001101111000 : fa4a378 +bu31 = 11111110110111001011101010011000 : 0000000000000000000000000000000000001111101001001010001101111000 : fa4a378 +bu32 = 11111110110111001011101010011000 : 0000000000000000000000000000000000001111101001001010001101111000 : fa4a378 +bu33 = 11111110110111001011101010011000 : 0000000000000000000000000000000100001111101001001010001101111000 : 10fa4a378 +bu34 = 11111110110111001011101010011000 : 0000000000000000000000000000001100001111101001001010001101111000 : 30fa4a378 +bu35 = 11111110110111001011101010011000 : 0000000000000000000000000000011100001111101001001010001101111000 : 70fa4a378 +bu36 = 11111110110111001011101010011000 : 0000000000000000000000000000011100001111101001001010001101111000 : 70fa4a378 +bu37 = 11111110110111001011101010011000 : 0000000000000000000000000001011100001111101001001010001101111000 : 170fa4a378 +bu38 = 11111110110111001011101010011000 : 0000000000000000000000000001011100001111101001001010001101111000 : 170fa4a378 +bu39 = 11111110110111001011101010011000 : 0000000000000000000000000001011100001111101001001010001101111000 : 170fa4a378 +bu40 = 11111110110111001011101010011000 : 0000000000000000000000000001011100001111101001001010001101111000 : 170fa4a378 +bu41 = 11111110110111001011101010011000 : 0000000000000000000000000001011100001111101001001010001101111000 : 170fa4a378 +bu42 = 11111110110111001011101010011000 : 0000000000000000000000000001011100001111101001001010001101111000 : 170fa4a378 +bu43 = 11111110110111001011101010011000 : 0000000000000000000001000001011100001111101001001010001101111000 : 4170fa4a378 +bu44 = 11111110110111001011101010011000 : 0000000000000000000011000001011100001111101001001010001101111000 : c170fa4a378 +bu45 = 11111110110111001011101010011000 : 0000000000000000000111000001011100001111101001001010001101111000 : 1c170fa4a378 +bu46 = 11111110110111001011101010011000 : 0000000000000000000111000001011100001111101001001010001101111000 : 1c170fa4a378 +bu47 = 11111110110111001011101010011000 : 0000000000000000010111000001011100001111101001001010001101111000 : 5c170fa4a378 +bu48 = 11111110110111001011101010011000 : 0000000000000000010111000001011100001111101001001010001101111000 : 5c170fa4a378 +bu49 = 11111110110111001011101010011000 : 0000000000000001010111000001011100001111101001001010001101111000 : 15c170fa4a378 +bu50 = 11111110110111001011101010011000 : 0000000000000001010111000001011100001111101001001010001101111000 : 15c170fa4a378 +bu51 = 11111110110111001011101010011000 : 0000000000000101010111000001011100001111101001001010001101111000 : 55c170fa4a378 +bu52 = 11111110110111001011101010011000 : 0000000000000101010111000001011100001111101001001010001101111000 : 55c170fa4a378 +bu53 = 11111110110111001011101010011000 : 0000000000000101010111000001011100001111101001001010001101111000 : 55c170fa4a378 +bu54 = 11111110110111001011101010011000 : 0000000000100101010111000001011100001111101001001010001101111000 : 255c170fa4a378 +bu55 = 11111110110111001011101010011000 : 0000000001100101010111000001011100001111101001001010001101111000 : 655c170fa4a378 +bu56 = 11111110110111001011101010011000 : 0000000001100101010111000001011100001111101001001010001101111000 : 655c170fa4a378 +bu57 = 11111110110111001011101010011000 : 0000000001100101010111000001011100001111101001001010001101111000 : 655c170fa4a378 +bu58 = 11111110110111001011101010011000 : 0000001001100101010111000001011100001111101001001010001101111000 : 2655c170fa4a378 +bu59 = 11111110110111001011101010011000 : 0000011001100101010111000001011100001111101001001010001101111000 : 6655c170fa4a378 +bu60 = 11111110110111001011101010011000 : 0000011001100101010111000001011100001111101001001010001101111000 : 6655c170fa4a378 +bu61 = 11111110110111001011101010011000 : 0000011001100101010111000001011100001111101001001010001101111000 : 6655c170fa4a378 +bu62 = 11111110110111001011101010011000 : 0010011001100101010111000001011100001111101001001010001101111000 : 26655c170fa4a378 +bu63 = 11111110110111001011101010011000 : 0110011001100101010111000001011100001111101001001010001101111000 : 66655c170fa4a378 +bu64 = 11111110110111001011101010011000 : 0110011001100101010111000001011100001111101001001010001101111000 : 66655c170fa4a378 + +bu01 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000000000001 : 1 +bu02 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000000000011 : 3 +bu03 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000000000111 : 7 +bu04 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000000000111 : 7 +bu05 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000000000111 : 7 +bu06 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000000000111 : 7 +bu07 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000001000111 : 47 +bu08 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000011000111 : c7 +bu09 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000111000111 : 1c7 +bu10 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000111000111 : 1c7 +bu11 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000111000111 : 1c7 +bu12 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000000000111000111 : 1c7 +bu13 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000001000111000111 : 11c7 +bu14 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000011000111000111 : 31c7 +bu15 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000111000111000111 : 71c7 +bu16 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000111000111000111 : 71c7 +bu17 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000111000111000111 : 71c7 +bu18 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000000000111000111000111 : 71c7 +bu19 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000001000111000111000111 : 471c7 +bu20 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000011000111000111000111 : c71c7 +bu21 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000111000111000111000111 : 1c71c7 +bu22 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000111000111000111000111 : 1c71c7 +bu23 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000111000111000111000111 : 1c71c7 +bu24 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000000000111000111000111000111 : 1c71c7 +bu25 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000001000111000111000111000111 : 11c71c7 +bu26 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000011000111000111000111000111 : 31c71c7 +bu27 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000111000111000111000111000111 : 71c71c7 +bu28 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000111000111000111000111000111 : 71c71c7 +bu29 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000111000111000111000111000111 : 71c71c7 +bu30 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000000000111000111000111000111000111 : 71c71c7 +bu31 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000001000111000111000111000111000111 : 471c71c7 +bu32 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000011000111000111000111000111000111 : c71c71c7 +bu33 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000111000111000111000111000111000111 : 1c71c71c7 +bu34 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000111000111000111000111000111000111 : 1c71c71c7 +bu35 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000111000111000111000111000111000111 : 1c71c71c7 +bu36 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000000000111000111000111000111000111000111 : 1c71c71c7 +bu37 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000001000111000111000111000111000111000111 : 11c71c71c7 +bu38 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000011000111000111000111000111000111000111 : 31c71c71c7 +bu39 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000111000111000111000111000111000111000111 : 71c71c71c7 +bu40 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000111000111000111000111000111000111000111 : 71c71c71c7 +bu41 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000111000111000111000111000111000111000111 : 71c71c71c7 +bu42 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000000000111000111000111000111000111000111000111 : 71c71c71c7 +bu43 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000001000111000111000111000111000111000111000111 : 471c71c71c7 +bu44 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000011000111000111000111000111000111000111000111 : c71c71c71c7 +bu45 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000111000111000111000111000111000111000111000111 : 1c71c71c71c7 +bu46 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000111000111000111000111000111000111000111000111 : 1c71c71c71c7 +bu47 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000111000111000111000111000111000111000111000111 : 1c71c71c71c7 +bu48 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000000000111000111000111000111000111000111000111000111 : 1c71c71c71c7 +bu49 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000001000111000111000111000111000111000111000111000111 : 11c71c71c71c7 +bu50 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000011000111000111000111000111000111000111000111000111 : 31c71c71c71c7 +bu51 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000111000111000111000111000111000111000111000111000111 : 71c71c71c71c7 +bu52 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000111000111000111000111000111000111000111000111000111 : 71c71c71c71c7 +bu53 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000111000111000111000111000111000111000111000111000111 : 71c71c71c71c7 +bu54 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000000000111000111000111000111000111000111000111000111000111 : 71c71c71c71c7 +bu55 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000001000111000111000111000111000111000111000111000111000111 : 471c71c71c71c7 +bu56 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000011000111000111000111000111000111000111000111000111000111 : c71c71c71c71c7 +bu57 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000111000111000111000111000111000111000111000111000111000111 : 1c71c71c71c71c7 +bu58 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000111000111000111000111000111000111000111000111000111000111 : 1c71c71c71c71c7 +bu59 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000111000111000111000111000111000111000111000111000111000111 : 1c71c71c71c71c7 +bu60 = 1111111111111111111111111111111111111111111111111111111111111111 : 0000000111000111000111000111000111000111000111000111000111000111 : 1c71c71c71c71c7 +bu61 = 1111111111111111111111111111111111111111111111111111111111111111 : 0001000111000111000111000111000111000111000111000111000111000111 : 11c71c71c71c71c7 +bu62 = 1111111111111111111111111111111111111111111111111111111111111111 : 0011000111000111000111000111000111000111000111000111000111000111 : 31c71c71c71c71c7 +bu63 = 1111111111111111111111111111111111111111111111111111111111111111 : 0111000111000111000111000111000111000111000111000111000111000111 : 71c71c71c71c71c7 +bu64 = 1111111111111111111111111111111111111111111111111111111111111111 : 0111000111000111000111000111000111000111000111000111000111000111 : 71c71c71c71c71c7 + +bu01 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu02 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu03 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu04 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu05 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000010000 : 10 +bu06 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000010000 : 10 +bu07 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000010000 : 10 +bu08 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000000010000 : 10 +bu09 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000100010000 : 110 +bu10 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000100010000 : 110 +bu11 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000100010000 : 110 +bu12 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000100010000 : 110 +bu13 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000000000100010000 : 110 +bu14 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000010000100010000 : 2110 +bu15 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000000010000100010000 : 2110 +bu16 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000001010000100010000 : a110 +bu17 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000001010000100010000 : a110 +bu18 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000000101010000100010000 : 2a110 +bu19 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000001101010000100010000 : 6a110 +bu20 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000001101010000100010000 : 6a110 +bu21 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000000001101010000100010000 : 6a110 +bu22 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000001001101010000100010000 : 26a110 +bu23 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000011001101010000100010000 : 66a110 +bu24 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000000011001101010000100010000 : 66a110 +bu25 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000001011001101010000100010000 : 166a110 +bu26 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000001011001101010000100010000 : 166a110 +bu27 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000000001011001101010000100010000 : 166a110 +bu28 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000001001011001101010000100010000 : 966a110 +bu29 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000011001011001101010000100010000 : 1966a110 +bu30 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000111001011001101010000100010000 : 3966a110 +bu31 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000111001011001101010000100010000 : 3966a110 +bu32 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000111001011001101010000100010000 : 3966a110 +bu33 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000000000111001011001101010000100010000 : 3966a110 +bu34 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000001000111001011001101010000100010000 : 23966a110 +bu35 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000011000111001011001101010000100010000 : 63966a110 +bu36 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000011000111001011001101010000100010000 : 63966a110 +bu37 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000011000111001011001101010000100010000 : 63966a110 +bu38 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000000011000111001011001101010000100010000 : 63966a110 +bu39 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000100011000111001011001101010000100010000 : 463966a110 +bu40 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000100011000111001011001101010000100010000 : 463966a110 +bu41 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000000100011000111001011001101010000100010000 : 463966a110 +bu42 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000000100100011000111001011001101010000100010000 : 2463966a110 +bu43 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000001100100011000111001011001101010000100010000 : 6463966a110 +bu44 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000001100100011000111001011001101010000100010000 : 6463966a110 +bu45 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000000001100100011000111001011001101010000100010000 : 6463966a110 +bu46 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000001001100100011000111001011001101010000100010000 : 26463966a110 +bu47 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000011001100100011000111001011001101010000100010000 : 66463966a110 +bu48 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000011001100100011000111001011001101010000100010000 : 66463966a110 +bu49 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000011001100100011000111001011001101010000100010000 : 66463966a110 +bu50 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000000011001100100011000111001011001101010000100010000 : 66463966a110 +bu51 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000100011001100100011000111001011001101010000100010000 : 466463966a110 +bu52 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000100011001100100011000111001011001101010000100010000 : 466463966a110 +bu53 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000000100011001100100011000111001011001101010000100010000 : 466463966a110 +bu54 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000100100011001100100011000111001011001101010000100010000 : 2466463966a110 +bu55 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000000100100011001100100011000111001011001101010000100010000 : 2466463966a110 +bu56 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000010100100011001100100011000111001011001101010000100010000 : a466463966a110 +bu57 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000000110100100011001100100011000111001011001101010000100010000 : 1a466463966a110 +bu58 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000001110100100011001100100011000111001011001101010000100010000 : 3a466463966a110 +bu59 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000001110100100011001100100011000111001011001101010000100010000 : 3a466463966a110 +bu60 = 1111111011011100101110101001100001110110010101000011001000010000 : 0000101110100100011001100100011000111001011001101010000100010000 : ba466463966a110 +bu61 = 1111111011011100101110101001100001110110010101000011001000010000 : 0001101110100100011001100100011000111001011001101010000100010000 : 1ba466463966a110 +bu62 = 1111111011011100101110101001100001110110010101000011001000010000 : 0011101110100100011001100100011000111001011001101010000100010000 : 3ba466463966a110 +bu63 = 1111111011011100101110101001100001110110010101000011001000010000 : 0011101110100100011001100100011000111001011001101010000100010000 : 3ba466463966a110 +bu64 = 1111111011011100101110101001100001110110010101000011001000010000 : 0011101110100100011001100100011000111001011001101010000100010000 : 3ba466463966a110 +bu64 = 1111111011011100101110101001100001110110010101000011001000010000 : 0011101110100100011001100100011000111001011001101010000100010000 : 3ba466463966a110 +bu64 = 111111011011100101110101001100001110110010101000011001000010000 : 1011101110100100011001100100011000111001011001101010000100010000 : bba466463966a110 +bu64 = 11111011011100101110101001100001110110010101000011001000010000 : 0111101110100100011001100100011000111001011001101010000100010000 : 7ba466463966a110 +bu64 = 1111011011100101110101001100001110110010101000011001000010000 : 1101101110100100011001100100011000111001011001101010000100010000 : dba466463966a110 +bu64 = 111011011100101110101001100001110110010101000011001000010000 : 1100101110100100011001100100011000111001011001101010000100010000 : cba466463966a110 +bu64 = 11011011100101110101001100001110110010101000011001000010000 : 1110001110100100011001100100011000111001011001101010000100010000 : e3a466463966a110 +bu64 = 1011011100101110101001100001110110010101000011001000010000 : 1111111110100100011001100100011000111001011001101010000100010000 : ffa466463966a110 +bu64 = 011011100101110101001100001110110010101000011001000010000 : 1011010110100100011001100100011000111001011001101010000100010000 : b5a466463966a110 +bu64 = 11011100101110101001100001110110010101000011001000010000 : 1011010110100100011001100100011000111001011001101010000100010000 : b5a466463966a110 +bu64 = 1011100101110101001100001110110010101000011001000010000 : 1111111100100100011001100100011000111001011001101010000100010000 : ff2466463966a110 +bu64 = 011100101110101001100001110110010101000011001000010000 : 0110110011100100011001100100011000111001011001101010000100010000 : 6ce466463966a110 +bu64 = 11100101110101001100001110110010101000011001000010000 : 0110110011100100011001100100011000111001011001101010000100010000 : 6ce466463966a110 +bu64 = 1100101110101001100001110110010101000011001000010000 : 1001000111010100011001100100011000111001011001101010000100010000 : 91d466463966a110 +bu64 = 100101110101001100001110110010101000011001000010000 : 0111101111101100011001100100011000111001011001101010000100010000 : 7bec66463966a110 +bu64 = 00101110101001100001110110010101000011001000010000 : 1100011010001000011001100100011000111001011001101010000100010000 : c68866463966a110 +bu64 = 0101110101001100001110110010101000011001000010000 : 1100011010001000011001100100011000111001011001101010000100010000 : c68866463966a110 +bu64 = 101110101001100001110110010101000011001000010000 : 1100011010001000011001100100011000111001011001101010000100010000 : c68866463966a110 +bu64 = 01110101001100001110110010101000011001000010000 : 0110110100000001111001100100011000111001011001101010000100010000 : 6d01e6463966a110 +bu64 = 1110101001100001110110010101000011001000010000 : 0110110100000001111001100100011000111001011001101010000100010000 : 6d01e6463966a110 +bu64 = 110101001100001110110010101000011001000010000 : 0110000111011111010001100100011000111001011001101010000100010000 : 61df46463966a110 +bu64 = 10101001100001110110010101000011001000010000 : 0110000011000010001101100100011000111001011001101010000100010000 : 60c236463966a110 +bu64 = 0101001100001110110010101000011001000010000 : 1111101000111111010011100100011000111001011001101010000100010000 : fa3f4e463966a110 +bu64 = 101001100001110110010101000011001000010000 : 1111101000111111010011100100011000111001011001101010000100010000 : fa3f4e463966a110 +bu64 = 01001100001110110010101000011001000010000 : 1011011010101001100001000100011000111001011001101010000100010000 : b6a984463966a110 +bu64 = 1001100001110110010101000011001000010000 : 1011011010101001100001000100011000111001011001101010000100010000 : b6a984463966a110 +bu64 = 001100001110110010101000011001000010000 : 0101011101000100001011011100011000111001011001101010000100010000 : 57442dc63966a110 +bu64 = 01100001110110010101000011001000010000 : 0101011101000100001011011100011000111001011001101010000100010000 : 57442dc63966a110 +bu64 = 1100001110110010101000011001000010000 : 0101011101000100001011011100011000111001011001101010000100010000 : 57442dc63966a110 +bu64 = 100001110110010101000011001000010000 : 1010001111111000100011101011011000111001011001101010000100010000 : a3f88eb63966a110 +bu64 = 00001110110010101000011001000010000 : 0111100001110000111111101100111000111001011001101010000100010000 : 7870fece3966a110 +bu64 = 0001110110010101000011001000010000 : 0111100001110000111111101100111000111001011001101010000100010000 : 7870fece3966a110 +bu64 = 001110110010101000011001000010000 : 0111100001110000111111101100111000111001011001101010000100010000 : 7870fece3966a110 +bu64 = 01110110010101000011001000010000 : 0111100001110000111111101100111000111001011001101010000100010000 : 7870fece3966a110 +bu64 = 1110110010101000011001000010000 : 0111100001110000111111101100111000111001011001101010000100010000 : 7870fece3966a110 +bu64 = 110110010101000011001000010000 : 0011000111111100000100001110001111111001011001101010000100010000 : 31fc10e3f966a110 +bu64 = 10110010101000011001000010000 : 1100010010001001111110010001100101011001011001101010000100010000 : c489f9195966a110 +bu64 = 0110010101000011001000010000 : 1000011001100100111101101011100001001001011001101010000100010000 : 8664f6b84966a110 +bu64 = 110010101000011001000010000 : 1000011001100100111101101011100001001001011001101010000100010000 : 8664f6b84966a110 +bu64 = 10010101000011001000010000 : 1010100110011100111010011110010101100101011001101010000100010000 : a99ce9e56566a110 +bu64 = 0010101000011001000010000 : 1001001110001000111010001001110100011011011001101010000100010000 : 9388e89d1b66a110 +bu64 = 010101000011001000010000 : 1001001110001000111010001001110100011011011001101010000100010000 : 9388e89d1b66a110 +bu64 = 10101000011001000010000 : 1001001110001000111010001001110100011011011001101010000100010000 : 9388e89d1b66a110 +bu64 = 0101000011001000010000 : 0111100110101000000111101110001001101001001001101010000100010000 : 79a81ee26926a110 +bu64 = 101000011001000010000 : 0111100110101000000111101110001001101001001001101010000100010000 : 79a81ee26926a110 +bu64 = 01000011001000010000 : 0000110111100000110000001011010100000110000101101010000100010000 : de0c0b50616a110 +bu64 = 1000011001000010000 : 0000110111100000110000001011010100000110000101101010000100010000 : de0c0b50616a110 +bu64 = 000011001000010000 : 0000000000000000000010100000000101011110101100101010000100010000 : a015eb2a110 +bu64 = 00011001000010000 : 0000000000000000000010100000000101011110101100101010000100010000 : a015eb2a110 +bu64 = 0011001000010000 : 0000000000000000000010100000000101011110101100101010000100010000 : a015eb2a110 +bu64 = 011001000010000 : 0000000000000000000010100000000101011110101100101010000100010000 : a015eb2a110 +bu64 = 11001000010000 : 0000000000000000000010100000000101011110101100101010000100010000 : a015eb2a110 +bu64 = 1001000010000 : 0000000000000000000000001110100100010000010000000000000100010000 : e910400110 +bu64 = 001000010000 : 0000000000000000000000000000000000111011100110101111000100010000 : 3b9af110 +bu64 = 01000010000 : 0000000000000000000000000000000000111011100110101111000100010000 : 3b9af110 +bu64 = 1000010000 : 0000000000000000000000000000000000111011100110101111000100010000 : 3b9af110 +bu64 = 000010000 : 0000000000000000000000000000000000000000000000000010011100010000 : 2710 +bu64 = 00010000 : 0000000000000000000000000000000000000000000000000010011100010000 : 2710 +bu64 = 0010000 : 0000000000000000000000000000000000000000000000000010011100010000 : 2710 +bu64 = 010000 : 0000000000000000000000000000000000000000000000000010011100010000 : 2710 +bu64 = 10000 : 0000000000000000000000000000000000000000000000000010011100010000 : 2710 +bu64 = 0000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu64 = 000 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu64 = 00 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 +bu64 = 0 : 0000000000000000000000000000000000000000000000000000000000000000 : 0 diff --git a/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/test01.cpp b/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/test01.cpp new file mode 100644 index 000000000..8f6e8186c --- /dev/null +++ b/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/test01.cpp @@ -0,0 +1,177 @@ +#include "systemc.h" + +#define TEST_VAR(var, v) \ + var = v; \ + sprintf(buffer, "%16llx", var.to_uint64()); \ + bv64 = var; \ + cout << #var << " = " << v << " : " << bv64 << " : " << buffer << endl; + +#define TEST(v) \ + cout << endl; \ + TEST_VAR( bu01, v ); \ + TEST_VAR( bu02, v ); \ + TEST_VAR( bu03, v ); \ + TEST_VAR( bu04, v ); \ + TEST_VAR( bu05, v ); \ + TEST_VAR( bu06, v ); \ + TEST_VAR( bu07, v ); \ + TEST_VAR( bu08, v ); \ + TEST_VAR( bu09, v ); \ + TEST_VAR( bu10, v ); \ + TEST_VAR( bu11, v ); \ + TEST_VAR( bu12, v ); \ + TEST_VAR( bu13, v ); \ + TEST_VAR( bu14, v ); \ + TEST_VAR( bu15, v ); \ + TEST_VAR( bu16, v ); \ + TEST_VAR( bu17, v ); \ + TEST_VAR( bu18, v ); \ + TEST_VAR( bu19, v ); \ + TEST_VAR( bu20, v ); \ + TEST_VAR( bu21, v ); \ + TEST_VAR( bu22, v ); \ + TEST_VAR( bu23, v ); \ + TEST_VAR( bu24, v ); \ + TEST_VAR( bu25, v ); \ + TEST_VAR( bu26, v ); \ + TEST_VAR( bu27, v ); \ + TEST_VAR( bu28, v ); \ + TEST_VAR( bu29, v ); \ + TEST_VAR( bu30, v ); \ + TEST_VAR( bu31, v ); \ + TEST_VAR( bu32, v ); \ + TEST_VAR( bu33, v ); \ + TEST_VAR( bu34, v ); \ + TEST_VAR( bu35, v ); \ + TEST_VAR( bu36, v ); \ + TEST_VAR( bu37, v ); \ + TEST_VAR( bu38, v ); \ + TEST_VAR( bu39, v ); \ + TEST_VAR( bu40, v ); \ + TEST_VAR( bu41, v ); \ + TEST_VAR( bu42, v ); \ + TEST_VAR( bu43, v ); \ + TEST_VAR( bu44, v ); \ + TEST_VAR( bu45, v ); \ + TEST_VAR( bu46, v ); \ + TEST_VAR( bu47, v ); \ + TEST_VAR( bu48, v ); \ + TEST_VAR( bu49, v ); \ + TEST_VAR( bu50, v ); \ + TEST_VAR( bu51, v ); \ + TEST_VAR( bu52, v ); \ + TEST_VAR( bu53, v ); \ + TEST_VAR( bu54, v ); \ + TEST_VAR( bu55, v ); \ + TEST_VAR( bu56, v ); \ + TEST_VAR( bu57, v ); \ + TEST_VAR( bu58, v ); \ + TEST_VAR( bu59, v ); \ + TEST_VAR( bu60, v ); \ + TEST_VAR( bu61, v ); \ + TEST_VAR( bu62, v ); \ + TEST_VAR( bu63, v ); \ + TEST_VAR( bu64, v ); + +int sc_main(int argc, char* argv[]) +{ + char buffer[256]; + sc_biguint<1> bu01; + sc_biguint<2> bu02; + sc_biguint<3> bu03; + sc_biguint<4> bu04; + sc_biguint<5> bu05; + sc_biguint<6> bu06; + sc_biguint<7> bu07; + sc_biguint<8> bu08; + sc_biguint<9> bu09; + sc_biguint<10> bu10; + sc_biguint<11> bu11; + sc_biguint<12> bu12; + sc_biguint<13> bu13; + sc_biguint<14> bu14; + sc_biguint<15> bu15; + sc_biguint<16> bu16; + sc_biguint<17> bu17; + sc_biguint<18> bu18; + sc_biguint<19> bu19; + sc_biguint<20> bu20; + sc_biguint<21> bu21; + sc_biguint<22> bu22; + sc_biguint<23> bu23; + sc_biguint<24> bu24; + sc_biguint<25> bu25; + sc_biguint<26> bu26; + sc_biguint<27> bu27; + sc_biguint<28> bu28; + sc_biguint<29> bu29; + sc_biguint<30> bu30; + sc_biguint<31> bu31; + sc_biguint<32> bu32; + sc_biguint<33> bu33; + sc_biguint<34> bu34; + sc_biguint<35> bu35; + sc_biguint<36> bu36; + sc_biguint<37> bu37; + sc_biguint<38> bu38; + sc_biguint<39> bu39; + sc_biguint<40> bu40; + sc_biguint<41> bu41; + sc_biguint<42> bu42; + sc_biguint<43> bu43; + sc_biguint<44> bu44; + sc_biguint<45> bu45; + sc_biguint<46> bu46; + sc_biguint<47> bu47; + sc_biguint<48> bu48; + sc_biguint<49> bu49; + sc_biguint<50> bu50; + sc_biguint<51> bu51; + sc_biguint<52> bu52; + sc_biguint<53> bu53; + sc_biguint<54> bu54; + sc_biguint<55> bu55; + sc_biguint<56> bu56; + sc_biguint<57> bu57; + sc_biguint<58> bu58; + sc_biguint<59> bu59; + sc_biguint<60> bu60; + sc_biguint<61> bu61; + sc_biguint<62> bu62; + sc_biguint<63> bu63; + sc_biguint<64> bu64; + + sc_bv<64> bv64; + + int i; + + char values[] = "1111" + "1110" + "1101" + "1100" + "1011" + "1010" + "1001" + "1000" + "0111" + "0110" + "0101" + "0100" + "0011" + "0010" + "0001" + "0000"; + TEST("101"); + + TEST( "11111110110111001011101010011000" ); + TEST( "1111111111111111111111111111111111111111111111111111111111111111" ); + + TEST( values ); + + for ( i = 0; i < (int)strlen(values); i++ ) + { + TEST_VAR( bu64, &values[i]); + } + + return 0; +} -- cgit v1.2.3