summaryrefslogtreecommitdiff
path: root/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/test01.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/test01.cpp')
-rw-r--r--src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test01/test01.cpp177
1 files changed, 177 insertions, 0 deletions
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;
+}