| #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; |
| } |