summaryrefslogtreecommitdiff
path: root/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test02/test02.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test02/test02.cpp')
-rw-r--r--src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test02/test02.cpp177
1 files changed, 177 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test02/test02.cpp b/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test02/test02.cpp
new file mode 100644
index 000000000..1cbd304f1
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/int/parse_binary_bits/test02/test02.cpp
@@ -0,0 +1,177 @@
+#include "systemc.h"
+
+#define TEST_VAR(var, v) \
+ var = v; \
+ sprintf(buffer, "%16llx", var.to_int64()); \
+ bv64 = var; \
+ cout << #var << " = " << v << " : " << bv64 << " : " << buffer << " : " << var << endl;
+
+#define TEST(v) \
+ cout << endl; \
+ TEST_VAR( bi01, v ); \
+ TEST_VAR( bi02, v ); \
+ TEST_VAR( bi03, v ); \
+ TEST_VAR( bi04, v ); \
+ TEST_VAR( bi05, v ); \
+ TEST_VAR( bi06, v ); \
+ TEST_VAR( bi07, v ); \
+ TEST_VAR( bi08, v ); \
+ TEST_VAR( bi09, v ); \
+ TEST_VAR( bi10, v ); \
+ TEST_VAR( bi11, v ); \
+ TEST_VAR( bi12, v ); \
+ TEST_VAR( bi13, v ); \
+ TEST_VAR( bi14, v ); \
+ TEST_VAR( bi15, v ); \
+ TEST_VAR( bi16, v ); \
+ TEST_VAR( bi17, v ); \
+ TEST_VAR( bi18, v ); \
+ TEST_VAR( bi19, v ); \
+ TEST_VAR( bi20, v ); \
+ TEST_VAR( bi21, v ); \
+ TEST_VAR( bi22, v ); \
+ TEST_VAR( bi23, v ); \
+ TEST_VAR( bi24, v ); \
+ TEST_VAR( bi25, v ); \
+ TEST_VAR( bi26, v ); \
+ TEST_VAR( bi27, v ); \
+ TEST_VAR( bi28, v ); \
+ TEST_VAR( bi29, v ); \
+ TEST_VAR( bi30, v ); \
+ TEST_VAR( bi31, v ); \
+ TEST_VAR( bi32, v ); \
+ TEST_VAR( bi33, v ); \
+ TEST_VAR( bi34, v ); \
+ TEST_VAR( bi35, v ); \
+ TEST_VAR( bi36, v ); \
+ TEST_VAR( bi37, v ); \
+ TEST_VAR( bi38, v ); \
+ TEST_VAR( bi39, v ); \
+ TEST_VAR( bi40, v ); \
+ TEST_VAR( bi41, v ); \
+ TEST_VAR( bi42, v ); \
+ TEST_VAR( bi43, v ); \
+ TEST_VAR( bi44, v ); \
+ TEST_VAR( bi45, v ); \
+ TEST_VAR( bi46, v ); \
+ TEST_VAR( bi47, v ); \
+ TEST_VAR( bi48, v ); \
+ TEST_VAR( bi49, v ); \
+ TEST_VAR( bi50, v ); \
+ TEST_VAR( bi51, v ); \
+ TEST_VAR( bi52, v ); \
+ TEST_VAR( bi53, v ); \
+ TEST_VAR( bi54, v ); \
+ TEST_VAR( bi55, v ); \
+ TEST_VAR( bi56, v ); \
+ TEST_VAR( bi57, v ); \
+ TEST_VAR( bi58, v ); \
+ TEST_VAR( bi59, v ); \
+ TEST_VAR( bi60, v ); \
+ TEST_VAR( bi61, v ); \
+ TEST_VAR( bi62, v ); \
+ TEST_VAR( bi63, v ); \
+ TEST_VAR( bi64, v );
+
+int sc_main(int argc, char* argv[])
+{
+ char buffer[256];
+ sc_bigint<1> bi01;
+ sc_bigint<2> bi02;
+ sc_bigint<3> bi03;
+ sc_bigint<4> bi04;
+ sc_bigint<5> bi05;
+ sc_bigint<6> bi06;
+ sc_bigint<7> bi07;
+ sc_bigint<8> bi08;
+ sc_bigint<9> bi09;
+ sc_bigint<10> bi10;
+ sc_bigint<11> bi11;
+ sc_bigint<12> bi12;
+ sc_bigint<13> bi13;
+ sc_bigint<14> bi14;
+ sc_bigint<15> bi15;
+ sc_bigint<16> bi16;
+ sc_bigint<17> bi17;
+ sc_bigint<18> bi18;
+ sc_bigint<19> bi19;
+ sc_bigint<20> bi20;
+ sc_bigint<21> bi21;
+ sc_bigint<22> bi22;
+ sc_bigint<23> bi23;
+ sc_bigint<24> bi24;
+ sc_bigint<25> bi25;
+ sc_bigint<26> bi26;
+ sc_bigint<27> bi27;
+ sc_bigint<28> bi28;
+ sc_bigint<29> bi29;
+ sc_bigint<30> bi30;
+ sc_bigint<31> bi31;
+ sc_bigint<32> bi32;
+ sc_bigint<33> bi33;
+ sc_bigint<34> bi34;
+ sc_bigint<35> bi35;
+ sc_bigint<36> bi36;
+ sc_bigint<37> bi37;
+ sc_bigint<38> bi38;
+ sc_bigint<39> bi39;
+ sc_bigint<40> bi40;
+ sc_bigint<41> bi41;
+ sc_bigint<42> bi42;
+ sc_bigint<43> bi43;
+ sc_bigint<44> bi44;
+ sc_bigint<45> bi45;
+ sc_bigint<46> bi46;
+ sc_bigint<47> bi47;
+ sc_bigint<48> bi48;
+ sc_bigint<49> bi49;
+ sc_bigint<50> bi50;
+ sc_bigint<51> bi51;
+ sc_bigint<52> bi52;
+ sc_bigint<53> bi53;
+ sc_bigint<54> bi54;
+ sc_bigint<55> bi55;
+ sc_bigint<56> bi56;
+ sc_bigint<57> bi57;
+ sc_bigint<58> bi58;
+ sc_bigint<59> bi59;
+ sc_bigint<60> bi60;
+ sc_bigint<61> bi61;
+ sc_bigint<62> bi62;
+ sc_bigint<63> bi63;
+ sc_bigint<64> bi64;
+
+ 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( bi64, &values[i]);
+ }
+
+ return 0;
+}