blob: 1cbd304f1ede9434feaed5fcdb308cc422d7a7b4 [file] [log] [blame]
#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;
}