diff options
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.cpp | 177 |
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; +} |