TEST(ExpressionAlgoIsSubsetOf, Compare_EQ) { ParsedMatchExpression a5("{a: 5}"); ParsedMatchExpression a6("{a: 6}"); ParsedMatchExpression b5("{b: 5}"); ASSERT_TRUE(expression::isSubsetOf(a5.get(), a5.get())); ASSERT_FALSE(expression::isSubsetOf(a5.get(), a6.get())); ASSERT_FALSE(expression::isSubsetOf(a5.get(), b5.get())); }
void drive_get_misc_functions() { try { // Get function tests CQLValue a1(Uint64(123)); CQLValue a2(Sint64(-123)); CQLValue a3(Real64(25.24)); CQLValue a4(String("Hellow")); CQLValue a5(Boolean(true)); String _date("20040811105625.000000-360"); CIMDateTime date(_date); CQLValue a6(date); String _date1("20040811105626.000000-360"); CIMDateTime date1(_date1); CQLValue a61(date1); String opStr("MyClass.z=true,y=1234,x=\"Hello World\""); CIMObjectPath op(opStr); CQLValue a7(op); const CIMName _cimName(String("CIM_OperatingSystem")); CIMInstance _i1(_cimName); CQLValue a8(_i1); PEGASUS_TEST_ASSERT(a1.getUint() == Uint64(123)); PEGASUS_TEST_ASSERT(a2.getSint() == Sint64(-123)); PEGASUS_TEST_ASSERT(a3.getReal() == Real64(25.24)); PEGASUS_TEST_ASSERT(a4.getString() == String("Hellow")); PEGASUS_TEST_ASSERT(a5.getBool() == Boolean(true)); PEGASUS_TEST_ASSERT(a6.getDateTime() == CIMDateTime(_date)); PEGASUS_TEST_ASSERT(a6 != a61); PEGASUS_TEST_ASSERT(a6 < a61); PEGASUS_TEST_ASSERT(a7.getReference() == CIMObjectPath(opStr)); try { a1.getSint(); PEGASUS_TEST_ASSERT(0); } catch(...) { PEGASUS_TEST_ASSERT(1); } } catch(Exception & e) { cout << e.getMessage() << endl; PEGASUS_TEST_ASSERT(0); } return; }
void yylex() { /* Declaracao de Variaveis Locais */ int l,s; /* Variaveis de controle do AF */ /* Inicializacao de Variaveis Locais */ l=0;s=0; saida.classe[0]=EOF; saida.classe[1]='\0'; /* AUTOMATO FINITO (AF) */ peg_ch(); while(ch != EOF && s!= FINAL_STATE) { if(compara_simbolo(ch,tab_trans[l])==TRUE) { s=tab_trans[l]->proximo_estado; switch(tab_trans[l]->acao_semantica) { case 1: a1();break; case 2: a2();break; case 3: a3();break; case 4: a4();break; case 5: a5();break; case 6: a6();break; case 7: a7();break; case 8: a8();break; case 9: a9();break; case 10: a10();break; case 11: a11();break; default:; } if(s!=FINAL_STATE) { peg_ch(); l=tab_trans[l]->proxima_transicao; } } else { ++l; if(s==tab_trans[l]->estado_atual) continue; else error("* * Erro Fatal: transicao errada no ANALISADOR LEXICO * *\n"); } } return; }
void level_three() { vector<DPipe> DirectPipes(13); vector<DoublePipe> DoublePipes(13); vector<CrossPipe> CrossPipes(2); DPipe a0(50,SCREEN_HEIGHT-50,100,40); DoublePipe b0(150,SCREEN_HEIGHT-50,70,40); DPipe a1(150,SCREEN_HEIGHT-150,100,40); DoublePipe b1(150,SCREEN_HEIGHT-250,70,40); DPipe a2(250,SCREEN_HEIGHT-350,100,40); DoublePipe b2(350,SCREEN_HEIGHT-250,70,40); DPipe a3(350,SCREEN_HEIGHT-350,100,40); DPipe a4(350,SCREEN_HEIGHT-150,100,40); DoublePipe b3(250,SCREEN_HEIGHT-450,70,40); DoublePipe b4(350,SCREEN_HEIGHT-450,70,40); CrossPipe c0(250,SCREEN_HEIGHT-250,100,40); DPipe a5(550,SCREEN_HEIGHT-50,100,40); DoublePipe b5(250,SCREEN_HEIGHT-150,70,40); DoublePipe b6(450,SCREEN_HEIGHT-50,70,40); DoublePipe b7(650,SCREEN_HEIGHT-150,70,40); DPipe a6(550,SCREEN_HEIGHT-50,100,40); DPipe a7(550,SCREEN_HEIGHT-150,100,40); DoublePipe b8(750,SCREEN_HEIGHT-50,70,40); DPipe a8(550,SCREEN_HEIGHT-250,100,40); DoublePipe b9(750,SCREEN_HEIGHT-350,70,40); CrossPipe c1(450,SCREEN_HEIGHT-150,100,40); DoublePipe b10(350,SCREEN_HEIGHT-450,70,40); DPipe a9(750,SCREEN_HEIGHT-150,100,40); DPipe a10(750,SCREEN_HEIGHT-250,100,40); DoublePipe b11(450,SCREEN_HEIGHT-250,70,40); DoublePipe b12(650,SCREEN_HEIGHT-250,70,40); DPipe a11(650,SCREEN_HEIGHT-50,100,40); DPipe a12(850,SCREEN_HEIGHT-350,100,40); DirectPipes[0] = a0; DoublePipes[0] = b0; DirectPipes[1] = a1; DoublePipes[1] = b1; DirectPipes[2] = a2; DoublePipes[2] = b2; DirectPipes[3] = a3; DoublePipes[3] = b3; DirectPipes[4] = a4; DoublePipes[4] = b4; DirectPipes[5] = a5; DoublePipes[5] = b5; DirectPipes[6] = a6; DoublePipes[6] = b6; DirectPipes[7] = a7; DoublePipes[7] = b7; DirectPipes[8] = a8; DoublePipes[8] = b8; DirectPipes[9] = a9; DoublePipes[9] = b9; DirectPipes[10] = a10; DoublePipes[10] = b10; DirectPipes[11] = a11; DoublePipes[11] = b11; DirectPipes[12] = a12; DoublePipes[12] = b12; CrossPipes[0] = c0; CrossPipes[1] = c1; Water a(20,SCREEN_HEIGHT-50,40,40); }
void driver_actividade(){ // Actividade a1( "chave3","trabalho3", 13, MES); // Actividade *ptr_a = &a1; // Actividade a2( *ptr_a ); // std::cout << a2.getIdentificador() << // std::endl << a2.getDescricao() << // std::endl << a2.getDuracao() << // std::endl << a2.getUnidadeDuracao() << // std::endl; // std::cout << ((a1 == a2) ? "a1 == a2\n" : "a1 <> a2\n"); // Actividade a3; // a3.setIdentificador( "key1" ); // a3.setDescricao("encomenda"); // a3.setDuracao(8); // a3.setUnidadeDuracao(MES); // std::cout << a3; // std::cout << ((a1 < a3) ? "a1 < a3\n" : "falso\n"); // std::cout << ((a1 > a3) ? "a1 > a3\n" : "falso\n"); // std::cout << ((a3 > a1) ? "a3 > a1\n" : "falso\n"); // a3 = a1; // std::cout << ((a1 == a3) ? "a1 == a3\n" : "falso\n"); // Actividade a4( "chave4","trabalho4", 34, DIA); Lista<Actividade*> l1; Actividade a1( "chave1","trabalho 1", 134, MES, l1); Lista<Actividade*> l2; Actividade a2( "chave2","trabalho 2", 10, MES, l2); Lista<Actividade*> l3; Actividade a3( "chave3","trabalho 3", 95, MES, l3); Lista<Actividade*> l4; l4.insere(1,&a2); l4.insere(1,&a3); Actividade a4( "chave4","trabalho 4", 813, HORA, l4); Lista<Actividade*> l5; Actividade a5( "chave5","trabalho 5", 87, DIA, l5); Lista<Actividade*> l6; Actividade a6( "chave6","trabalho 6", 934, MES, l6); std::cout << a4; std::cout << a5; //Actividade: // id: chave4 // desc: trabalho 4 // durac: 813 // unidade: 0 // precedentes: 0xbffff938 0xbffff954 }
TEST(ExpressionAlgoIsSubsetOf, PointInUnboundedRange) { ParsedMatchExpression a4("{a: 4}"); ParsedMatchExpression a5("{a: 5}"); ParsedMatchExpression a6("{a: 6}"); ParsedMatchExpression b5("{b: 5}"); ParsedMatchExpression lt5("{a: {$lt: 5}}"); ParsedMatchExpression lte5("{a: {$lte: 5}}"); ParsedMatchExpression gte5("{a: {$gte: 5}}"); ParsedMatchExpression gt5("{a: {$gt: 5}}"); ASSERT_TRUE(expression::isSubsetOf(a4.get(), lte5.get())); ASSERT_TRUE(expression::isSubsetOf(a5.get(), lte5.get())); ASSERT_FALSE(expression::isSubsetOf(a6.get(), lte5.get())); ASSERT_TRUE(expression::isSubsetOf(a4.get(), lt5.get())); ASSERT_FALSE(expression::isSubsetOf(a5.get(), lt5.get())); ASSERT_FALSE(expression::isSubsetOf(a6.get(), lt5.get())); ASSERT_FALSE(expression::isSubsetOf(a4.get(), gte5.get())); ASSERT_TRUE(expression::isSubsetOf(a5.get(), gte5.get())); ASSERT_TRUE(expression::isSubsetOf(a6.get(), gte5.get())); ASSERT_FALSE(expression::isSubsetOf(a4.get(), gt5.get())); ASSERT_FALSE(expression::isSubsetOf(a5.get(), gt5.get())); ASSERT_TRUE(expression::isSubsetOf(a6.get(), gt5.get())); // An unbounded range query does not match a subset of documents of a point query. ASSERT_FALSE(expression::isSubsetOf(lt5.get(), a5.get())); ASSERT_FALSE(expression::isSubsetOf(lte5.get(), a5.get())); ASSERT_FALSE(expression::isSubsetOf(gte5.get(), a5.get())); ASSERT_FALSE(expression::isSubsetOf(gt5.get(), a5.get())); // Cannot be a subset if comparing different field names. ASSERT_FALSE(expression::isSubsetOf(b5.get(), lt5.get())); ASSERT_FALSE(expression::isSubsetOf(b5.get(), lte5.get())); ASSERT_FALSE(expression::isSubsetOf(b5.get(), gte5.get())); ASSERT_FALSE(expression::isSubsetOf(b5.get(), gt5.get())); }
osgToy::RhombicDodecahedron::RhombicDodecahedron() { setOverallColor( osg::Vec4(0,1,0,1) ); osg::Vec3 a0( 1, 1, 1 ); osg::Vec3 a1( 1, 1, -1 ); osg::Vec3 a2( 1, -1, 1 ); osg::Vec3 a3( 1, -1, -1 ); osg::Vec3 a4( -1, 1, 1 ); osg::Vec3 a5( -1, 1, -1 ); osg::Vec3 a6( -1, -1, 1 ); osg::Vec3 a7( -1, -1, -1 ); osg::Vec3 xp( 2, 0, 0 ); osg::Vec3 xn( -2, 0, 0 ); osg::Vec3 yp( 0, 2, 0 ); osg::Vec3 yn( 0, -2, 0 ); osg::Vec3 zp( 0, 0, 2 ); osg::Vec3 zn( 0, 0, -2 ); addTristrip( yp, a0, a1, xp ); addTristrip( xp, a2, a3, yn ); addTristrip( yn, a6, a7, xn ); addTristrip( xn, a4, a5, yp ); addTristrip( zp, a0, a4, yp ); addTristrip( yp, a1, a5, zn ); addTristrip( zn, a3, a7, yn ); addTristrip( yn, a2, a6, zp ); addTristrip( xp, a0, a2, zp ); addTristrip( zp, a4, a6, xn ); addTristrip( xn, a5, a7, zn ); addTristrip( zn, a1, a3, xp ); osgToy::FacetingVisitor::facet( *this ); }
int main(int argc,char **argv) { setlocale(LC_ALL,"RUSSIAN"); SDL_DisplayMode displayMode; if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { cout << "SDL_Init Error: " << SDL_GetError() << endl; return 1; } int request = SDL_GetDesktopDisplayMode(0,&displayMode); SDL_Window *win = SDL_CreateWindow("Trubi", 300, 300,800, 800, SDL_WINDOW_SHOWN); if (win == nullptr) { cout << "SDL_CreateWindow Error: " << SDL_GetError() << endl; return 1; } SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if (ren == nullptr) { cout << "SDL_CreateRenderer Error: " << SDL_GetError() << endl; return 1; } vector<DPipe> DPIPES(13); vector<DoublePipe> DOUBPIPES(6); DPipe background(400,400,800,800); DPipe a0(70,300,100,40); DPipe a1(170,300,100,40); DPipe a2(270,300,100,40); DPipe a3(370,400,100,40); DPipe a4(370,500,100,40); DPipe a5(470,600,100,40); DPipe a6(570,600,100,40); DPipe a7(670,500,100,40); DPipe a8(670,400,100,40); DPipe a9(370,200,100,40); DPipe a10(470,100,100,40); DPipe a11(570,100,100,40); DPipe a12(670,200,100,40); DPipe kletka(370,300,100,100); DoublePipe b0(370,300,70,40); DoublePipe b1(370,600,70,40); DoublePipe b2(670,600,70,40); DoublePipe b3(670,300,70,40); DoublePipe b4(370,100,70,40); DoublePipe b5(670,100,70,40); DPIPES[0]=a0; DPIPES[1]=a1; DPIPES[2]=a2; DPIPES[3]=a3; DPIPES[4]=a4; DPIPES[5]=a5; DPIPES[6]=a6; DPIPES[7]=a7; DPIPES[8]=a8; DPIPES[9]=a9; DPIPES[10]=a10; DPIPES[11]=a11; DPIPES[12]=a12; DOUBPIPES[0]=b0; DOUBPIPES[1]=b1; DOUBPIPES[2]=b2; DOUBPIPES[3]=b3; DOUBPIPES[4]=b4; DOUBPIPES[5]=b5; SDL_RenderClear(ren); background.default_create(ren,"newbackground.bmp"); for(int i=0;i<DPIPES.size();++i) { DPIPES[i].default_create(ren,"text1.bmp"); } for(int i=0;i<DOUBPIPES.size();++i) { DOUBPIPES[i].default_create1(ren,"double1.bmp","double2.bmp"); } SDL_RenderPresent(ren); bool quit=false; while(!quit) { while(SDL_PollEvent(&event)) { SDL_PumpEvents(); if(event.type == SDL_QUIT) quit=true; else if(event.type==SDL_MOUSEBUTTONDOWN && event.button.button==SDL_BUTTON_LEFT) { for(int i=0;i<DPIPES.size();++i) { if(DPIPES[i].ismouse()) { SDL_RenderClear(ren); background.default_create(ren,"newbackground.bmp"); nochangesDoub(ren,DOUBPIPES); somechanges(ren,DPIPES,i); } } for(int i=0;i<DOUBPIPES.size();++i) { if(DOUBPIPES[i].ismouse()) { SDL_RenderClear(ren); background.default_create(ren,"newbackground.bmp"); nochanges(ren,DPIPES); somechangesDoub(ren,DOUBPIPES,i); } } } } } return 1; }
Extractor::Extractor(int _n, int _k, int _d, int _l, float _epsilon) { n = _n; k = _k; d = _d; l = _l; epsilon = _epsilon; // Polinomio irredutivel 2^32 (x^32 + x^15 + x^9 +x^7 + x^4 + x^3 + 1) ??? ZZ p; p=2; ZZ_p::init(p); ZZ_p one; one=1; ZZ_pX a1(0,one),a2(3,one),a3(4,one), a4(7,one), a5(9,one), a6(15,one), a7(32,one); ZZ_pX mod32; mod32 = a1 + a2 + a3 + a4 + a5 + a6 + a7; ZZ_pE::init(mod32); // Polinomio irredutivel 2^32^32 string c[32]; ZZ_pE wp[32]; // (X^30 + X^28 + X^27 + X^26 + X^21 + X^20 + X^19 + X^18 + X^15 + X^14 + X^11 + X^4 + X^3 + X^2 + X) + c[0] = "[0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0]"; // (X^30 + X^27 + X^26 + X^24 + X^22 + X^21 + X^20 + X^18 + X^17 + X^16 + X^13 + X^12 + X^11 + X^10 + X^7 + X^6 + X^3 + X^2)*Y + c[1] = "[0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0]"; // (X^31 + X^30 + X^29 + X^28 + X^27 + X^25 + X^22 + X^18 + X^16 + X^14 + X^13 + X^11 + X^9 + X^7 + X^3 + X^2 + X + 1)*Y^2 + c[2] = "[1 1 1 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1]"; // (X^31 + X^28 + X^22 + X^21 + X^19 + X^18 + X^15 + X^13 + X^10 + X^9 + X^8 + X^7 + X^5 + X^4 + X^2 + 1)*Y^3 + c[3] = "[1 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 1 0 1]"; // (X^31 + X^30 + X^27 + X^26 + X^25 + X^24 + X^23 + X^21 + X^16 + X^12 + X^9 + X^8 + X^6 + X^3 + X^2)*Y^4 + c[4] = "[1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0]"; // (X^31 + X^30 + X^29 + X^28 + X^27 + X^26 + X^24 + X^23 + X^22 + X^21 + X^20 + X^18 + X^15 + X^12 + X^9 + X^7 + X^6 + X^5 + X^4 + X^3)*Y^5 + c[5] = "[1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0]"; // (X^31 + X^29 + X^25 + X^21 + X^20 + X^19 + X^17 + X^16 + X^14 + X^13 + X^11 + X^10 + X^9 + X^5 + X^4 + X^3 + X + 1)*Y^6 + c[6] = "[1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1]"; // (X^31 + X^30 + X^29 + X^28 + X^24 + X^22 + X^19 + X^17 + X^16 + X^10 + X^8 + X^7 + X^6 + X^5 + X^3 + X^2)*Y^7 + c[7] = "[1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0]"; // (X^31 + X^30 + X^29 + X^25 + X^21 + X^20 + X^18 + X^16 + X^14 + X^13 + X^12 + X^10 + X^9 + X^8 + X^7 + X^6 + X^3)*Y^8 + c[8] = "[1 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0]"; // (X^27 + X^26 + X^23 + X^18 + X^17 + X^16 + X^14 + X^13 + X^12 + X^10 + X^8 + X^7 + X^4 + X^3 + X^2)*Y^9 + c[9] = "[0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 0 1 1 1 0 0]"; // (X^28 + X^25 + X^24 + X^23 + X^20 + X^19 + X^18 + X^17 + X^16 + X^14 + X^13 + X^12 + X^11 + X^10 + X^7 + X^4 + X^3 + X)*Y^10 + c[10] = "[0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 0 1 0]"; // (X^31 + X^29 + X^28 + X^27 + X^23 + X^22 + X^17 + X^16 + X^10 + X^9 + X^7 + X^5 + X^4 + X^3 + X^2)*Y^11 + c[11] = "[1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0]"; // (X^30 + X^29 + X^23 + X^22 + X^21 + X^20 + X^18 + X^16 + X^14 + X^13 + X^12 + X^10 + X^9 + X^4)*Y^12 + c[12] = "[0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0]"; // (X^29 + X^25 + X^22 + X^20 + X^17 + X^16 + X^15 + X^13 + X^9 + X^8 + X^7 + X^6 + X^5 + X^4 + X^2)*Y^13 + c[13] = "[0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0]"; // (X^31 + X^29 + X^27 + X^26 + X^17 + X^16 + X^14 + X^13 + X^10 + X^7 + X^4 + X^3)*Y^14 + c[14] = "[1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0]"; // (X^31 + X^30 + X^26 + X^25 + X^24 + X^19 + X^17 + X^16 + X^15 + X^13 + X^12 + X^9 + X^8 + X^7 + X^6 + X^4 + X + 1)*Y^15 + c[15] = "[1 1 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1]"; // (X^31 + X^30 + X^27 + X^26 + X^25 + X^24 + X^23 + X^20 + X^19 + X^18 + X^14 + X^12 + X^11 + X^9 + X^8 + X^6 + X^5 + X^3 + X^2)*Y^16 + c[16] = "[1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0]"; // (X^31 + X^30 + X^29 + X^28 + X^25 + X^21 + X^20 + X^19 + X^18 + X^17 + X^15 + X^13 + X^12 + X^11 + X^9 + X^8 + X^7 + X^2)*Y^17 + c[17] = "[1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 0 1 0 0]"; // (X^31 + X^30 + X^24 + X^23 + X^19 + X^17 + X^15 + X^10 + X^8 + X^6 + X^3 + X^2)*Y^18 + c[18] = "[1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0]"; // (X^30 + X^29 + X^26 + X^25 + X^20 + X^19 + X^15 + X^14 + X^10 + X^9 + X^8 + X^6 + X^5 + X^3)*Y^19 + c[19] = "[0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0]"; // (X^31 + X^30 + X^27 + X^25 + X^19 + X^17 + X^16 + X^14 + X^8 + X^6 + X^4 + X^3 + X^2 + 1)*Y^20 + c[20] = "[1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1]"; // (X^31 + X^28 + X^27 + X^25 + X^24 + X^21 + X^17 + X^16 + X^14 + X^13 + X^10 + X^8 + X^6 + X^5 + X^2)*Y^21 + c[21] = "[1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0]"; // (X^31 + X^28 + X^25 + X^24 + X^23 + X^21 + X^20 + X^18 + X^17 + X^16 + X^15 + X^14 + X^11 + X^10 + X^9 + X^7 + X^6 + X^5 + X^3 + 1)*Y^22 + c[22] = "[1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 1]"; // (X^31 + X^29 + X^27 + X^26 + X^24 + X^23 + X^22 + X^19 + X^18 + X^17 + X^15 + X^14 + X^13 + X^12 + X^11 + X^6 + X^5 + X^4)*Y^23 + c[23] = "[1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0]"; // (X^31 + X^30 + X^29 + X^23 + X^21 + X^19 + X^17 + X^16 + X^13 + X^11 + X^10 + X^9 + X^8 + X^6 + X + 1)*Y^24 + c[24] = "[1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1]"; // (X^31 + X^30 + X^29 + X^28 + X^27 + X^25 + X^20 + X^18 + X^17 + X^16 + X^15 + X^14 + X^9 + X^6 + X^3 + 1)*Y^25 + c[25] = "[1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1]"; // (X^30 + X^28 + X^25 + X^24 + X^23 + X^20 + X^18 + X^17 + X^16 + X^15 + X^12 + X^9 + X^7 + X^6 + X^5 + X^4)*Y^26 + c[26] = "[0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0]"; // (X^30 + X^29 + X^28 + X^27 + X^26 + X^25 + X^24 + X^21 + X^20 + X^19 + X^18 + X^12 + X^8 + X^7 + X^2 + X + 1)*Y^27 + c[27] = "[0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1]"; // (X^31 + X^29 + X^26 + X^25 + X^23 + X^19 + X^18 + X^17 + X^15 + X^13 + X^9 + X^7 + X^4 + 1)*Y^28 + c[28] = "[1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1]"; // (X^31 + X^25 + X^24 + X^23 + X^22 + X^20 + X^17 + X^16 + X^15 + X^14 + X^13 + X^12 + X^9 + X^8 + X^3 + X^2)*Y^29 + c[29] = "[1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0]"; // (X^31 + X^29 + X^28 + X^27 + X^24 + X^22 + X^21 + X^20 + X^16 + X^15 + X^13 + X^10 + X^7 + X^5 + X^4 + X^3 + X^2)*Y^30 + c[30] = "[1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 1 0 0]"; // (X^31 + X^26 + X^24 + X^22 + X^20 + X^15 + X^14 + X^12 + X^11 + X^9 + X^8 + X^5 + X^2 + X + 1)*Y^31 + c[31] = "[1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1]"; stringstream caix0(c[0]); stringstream caix1(c[1]); stringstream caix2(c[2]); stringstream caix3(c[3]); stringstream caix4(c[4]); stringstream caix5(c[5]); stringstream caix6(c[6]); stringstream caix7(c[7]); stringstream caix8(c[8]); stringstream caix9(c[9]); stringstream caix10(c[10]); stringstream caix11(c[11]); stringstream caix12(c[12]); stringstream caix13(c[13]); stringstream caix14(c[14]); stringstream caix15(c[15]); stringstream caix16(c[16]); stringstream caix17(c[17]); stringstream caix18(c[18]); stringstream caix19(c[19]); stringstream caix20(c[20]); stringstream caix21(c[21]); stringstream caix22(c[22]); stringstream caix23(c[23]); stringstream caix24(c[24]); stringstream caix25(c[25]); stringstream caix26(c[26]); stringstream caix27(c[27]); stringstream caix28(c[28]); stringstream caix29(c[29]); stringstream caix30(c[30]); stringstream caix31(c[31]); caix0 >> wp[0]; caix1 >> wp[1]; caix2 >> wp[2]; caix3 >> wp[3]; caix4 >> wp[4]; caix5 >> wp[5]; caix6 >> wp[6]; caix7 >> wp[7]; caix8 >> wp[8]; caix9 >> wp[9]; caix10 >> wp[10]; caix11 >> wp[11]; caix12 >> wp[12]; caix13 >> wp[13]; caix14 >> wp[14]; caix15 >> wp[15]; caix16 >> wp[16]; caix17 >> wp[17]; caix18 >> wp[18]; caix19 >> wp[19]; caix20 >> wp[20]; caix21 >> wp[21]; caix22 >> wp[22]; caix23 >> wp[23]; caix24 >> wp[24]; caix25 >> wp[25]; caix26 >> wp[26]; caix27 >> wp[27]; caix28 >> wp[28]; caix29 >> wp[29]; caix30 >> wp[30]; caix31 >> wp[31]; ZZ_pEX auxi(32,one); for(int i=0; i<32; i++) { ZZ_pEX aux(i,wp[i]); mod3232 += aux; } }
int main() { /* test cases */ /* * case 1: addition a>b and b>a and a=b */ BigInt a1("99"); BigInt b1("9131"); std::cout<<"\na = "<<a1.toString(); std::cout<<"\nb = "<<b1.toString(); std::cout<<"\nsum = "<<(a1+b1).toString(); std::cout<<"\na-b = "<<(a1-b1).toString(); BigInt a2("99"); BigInt b2("91"); std::cout<<"\na = "<<a2.toString(); std::cout<<"\nb = "<<b2.toString(); std::cout<<"\nsum = "<<(a2+b2).toString(); std::cout<<"\nproduct = "<<(a2*b2).toString(); std::cout<<"\na-b = "<<(a2-b2).toString(); /* * case 2: a=b and one is negative */ BigInt a3("-99"); BigInt b3("91"); std::cout<<"\na = "<<a3.toString(); std::cout<<"\nb = "<<b3.toString(); std::cout<<"\nsum = "<<(a3+b3).toString(); std::cout<<"\nsum = "<<(b3+a3).toString(); std::cout<<"\nproduct = "<<(b3*a3).toString(); std::cout<<"\na-b = "<<(a3-b3).toString(); /* * case 2: abs(a)>abs(b) and a is negative */ BigInt a4("-999"); BigInt b4("91"); std::cout<<"\na = "<<a4.toString(); std::cout<<"\nb = "<<b4.toString(); std::cout<<"\nsum = "<<(a4+b4).toString(); std::cout<<"\nsum = "<<(b4+a4).toString(); std::cout<<"\nproduct = "<<(b4*a4).toString(); std::cout<<"\na-b = "<<(a4-b4).toString(); /* * case 3: abs(b)>abs(a) and b is negative */ BigInt a5("99"); BigInt b5("-991"); std::cout<<"\na = "<<a5.toString(); std::cout<<"\nb = "<<b5.toString(); std::cout<<"\nsum = "<<(a5+b5).toString(); std::cout<<"\nsum = "<<(b5+a5).toString(); std::cout<<"\nproduct = "<<(b5*a5).toString(); std::cout<<"\na-b = "<<(a5-b5).toString(); /* * case 4: abs(b)>abs(a) and a,b is negative */ BigInt a6("-99"); BigInt b6("-991"); std::cout<<"\na = "<<a6.toString(); std::cout<<"\nb = "<<b6.toString(); std::cout<<"\nsum = "<<(a6+b6).toString(); std::cout<<"\nsum = "<<(b6+a6).toString(); std::cout<<"\na-b = "<<(a6-b6).toString(); /* * case 4: abs(b)=abs(a) and a,b is negative */ BigInt a7("-999"); BigInt b7("-991"); std::cout<<"\na = "<<a7.toString(); std::cout<<"\nb = "<<b7.toString(); std::cout<<"\nsum = "<<(a7+b7).toString(); std::cout<<"\nsum = "<<(b7+a7).toString(); std::cout<<"\nproduct = "<<(b7*a7).toString(); std::cout<<"\na-b = "<<(a7-b7).toString(); /* * case 5: a-b */ BigInt a8("-999"); BigInt b8("-991"); std::cout<<"\na = "<<a8.toString(); std::cout<<"\nb = "<<b8.toString(); std::cout<<"\na-b = "<<(a8-b8).toString(); std::cout<<"\na-b = "<<(a8-b8).toString(); BigInt fact("1"); clock_t time = clock(); fact = fact.factorial(1000); time = clock() - time; std::cout<<"\n\n10000 Factorial:\n"<<fact.toString()<<std::endl; std::cout<<"\n\ntime taken to find 1000! = "<<time/CLOCKS_PER_SEC<<" seconds"; BigInt rd; rd = rd.random(); std::cout<<"\n\n\nRandom number = "<<rd.toString()<<"\n\n"; rd = rd.random(); std::cout<<"\n\n\nRandom number = "<<rd.toString()<<"\n\n"; rd = rd.random(); std::cout<<"\n\n\nRandom number = "<<rd.toString()<<"\n\n"; return 0; }
void MatrixTest::test_constructor(void) { message += "test_constructor\n"; std::string file_name = "../data/matrix.dat"; // Default Matrix<size_t> m1; assert_true(m1.get_rows_number() == 0, LOG); assert_true(m1.get_columns_number() == 0, LOG); // Rows and columns numbers Matrix<size_t> m2(0, 0); assert_true(m2.get_rows_number() == 0, LOG); assert_true(m2.get_columns_number() == 0, LOG); Matrix<double> m3(1, 1, 1.0); assert_true(m3.get_rows_number() == 1, LOG); assert_true(m3.get_columns_number() == 1, LOG); // Rows and columns numbers and initialization Matrix<size_t> m4(0, 0, 1); assert_true(m4.get_rows_number() == 0, LOG); assert_true(m4.get_columns_number() == 0, LOG); Matrix<size_t> m5(1, 1, 1); assert_true(m5.get_rows_number() == 1, LOG); assert_true(m5.get_columns_number() == 1, LOG); assert_true(m5 == true, LOG); // File constructor m1.save(file_name); Matrix<size_t> m6(file_name); assert_true(m6.get_rows_number() == 0, LOG); assert_true(m6.get_columns_number() == 0, LOG); m2.save(file_name); Matrix<size_t> m7(file_name); assert_true(m7.get_rows_number() == 0, LOG); assert_true(m7.get_columns_number() == 0, LOG); m3.save(file_name); Matrix<double> m8(file_name); assert_true(m8.get_rows_number() == 1, LOG); assert_true(m8.get_columns_number() == 1, LOG); m4.save(file_name); Matrix<size_t> m9(file_name); assert_true(m9.get_rows_number() == 0, LOG); assert_true(m9.get_columns_number() == 0, LOG); m5.save(file_name); Matrix<size_t> m10(file_name); assert_true(m10.get_rows_number() == 1, LOG); assert_true(m10.get_columns_number() == 1, LOG); assert_true(m10 == true, LOG); // Copy constructor Matrix<double> a5; Matrix<double> b5(a5); assert_true(b5.get_rows_number() == 0, LOG); assert_true(b5.get_columns_number() == 0, LOG); Matrix<size_t> a6(1, 1, true); Matrix<size_t> b6(a6); assert_true(b6.get_rows_number() == 1, LOG); assert_true(b6.get_columns_number() == 1, LOG); assert_true(b6 == true, LOG); // Operator ++ Matrix<size_t> m11(2, 2, 0); m11(0,0)++; m11(1,1)++; assert_true(m11(0,0) == 1, LOG); assert_true(m11(0,1) == 0, LOG); assert_true(m11(1,0) == 0, LOG); assert_true(m11(1,1) == 1, LOG); }
void test01() { CIMParamValue pv; PEGASUS_TEST_ASSERT(pv.isUninitialized()); String p1("message"); CIMValue v1(String("argument_Test")); CIMParamValue a1(p1, v1); // Test call to CIMParamValue::setValue(CIMValue& value) // this test uses the above values for a1, p1 and v1. CIMParamValue a7(p1, v1); CIMValue v7(String("argument_Test7")); a7.setValue( v7); PEGASUS_TEST_ASSERT(a1.getValue().toString() != a7.getValue().toString()); PEGASUS_TEST_ASSERT(a1.getParameterName() == a7.getParameterName()); // Test call to CIMParamValue::setParameterName(String& parameterName) // this test uses the above values for a1, p1 and v1. CIMParamValue a8(p1, v1); String p8("message8"); a8.setParameterName( p8); PEGASUS_TEST_ASSERT(a1.getValue().toString() == a8.getValue().toString()); PEGASUS_TEST_ASSERT(a1.getParameterName() != a8.getParameterName()); PEGASUS_TEST_ASSERT(a8.isTyped()); a8.setIsTyped(false); PEGASUS_TEST_ASSERT(!a8.isTyped()); String p2("message2"); CIMValue v2(String("argument_Test2")); CIMParamValue a2(p2, v2); String p3("message3"); CIMValue v3(String("argument_Test3")); CIMParamValue a3(p3, v3); String p4("message4"); CIMValue v4(String("argument_Test4")); CIMParamValue a4(p4, v4); CIMParamValue a5 = a4; String p6("message6"); CIMValue v6(String("argument_Test6")); CIMParamValue a6(p6, v6); Array<CIMParamValue> aa; aa.append(a1); aa.append(a2); aa.append(CIMParamValue("message3", CIMValue(200000))); aa.append(CIMParamValue("message4", CIMValue(String("test4")))); // // clone // CIMParamValue a4clone = a4.clone(); aa.append(a4clone); if (verbose) { for (Uint32 i=0; i< aa.size(); i++) { XmlWriter::printParamValueElement(aa[i], cout); } } // // toXml // Buffer xmlOut; XmlWriter::appendParamValueElement(xmlOut, a4clone); }
void level_two() { vector<DPipe> DPIPES(44); vector<DoublePipe> DOUBPIPES(18); vector<CrossPipe> CROSSPIPES(3); DPipe background(600,400,1200,800); DPipe a0(50,750,100,40); DPipe a1(150,650,100,40); DPipe a2(150,550,100,40); DPipe a3(650,450,100,40); DPipe a4(550,550,100,40); DPipe a5(450,350,100,40); DPipe a6(550,250,100,40); DPipe a7(650,250,100,40); DPipe a8(750,350,100,40); DPipe a9(750,450,100,40); DPipe a10(750,550,100,40); DPipe a11(650,650,100,40); DPipe a12(550,650,100,40); DPipe a13(450,650,100,40); DPipe a14(350,550,100,40); DPipe a15(350,350,100,40); DPipe a16(350,250,100,40); DPipe a17(450,150,100,40); DPipe a18(550,150,100,40); DPipe a19(650,150,100,40); DPipe a20(750,150,100,40); DPipe a21(850,250,100,40); DPipe a22(850,350,100,40); DPipe a23(850,450,100,40); DPipe a24(850,550,100,40); DPipe a25(850,650,100,40); DPipe a26(750,750,100,40); DPipe a27(650,750,100,40); DPipe a28(550,750,100,40); DPipe a29(450,750,100,40); DPipe a30(350,750,100,40); DPipe a31(250,650,100,40); DPipe a32(250,550,100,40); DPipe a33(250,350,100,40); DPipe a34(250,250,100,40); DPipe a35(250,150,100,40); DPipe a36(350,50,100,40); DPipe a37(450,50,100,40); DPipe a38(550,50,100,40); DPipe a39(650,50,100,40); DPipe a40(750,50,100,40); DPipe a41(850,50,100,40); DPipe a42(950,150,100,40); DPipe a43(950,250,100,40); DoublePipe b0(150,750,70,40); DoublePipe b1(150,450,70,40); DoublePipe b2(550,450,70,40); DoublePipe b3(550,350,70,40); DoublePipe b4(650,350,70,40); DoublePipe b5(650,550,70,40); DoublePipe b6(450,550,70,40); DoublePipe b7(450,250,70,40); DoublePipe b8(750,250,70,40); DoublePipe b9(750,650,70,40); DoublePipe b10(350,650,70,40); DoublePipe b11(350,150,70,40); DoublePipe b12(850,150,70,40); DoublePipe b13(850,750,70,40); DoublePipe b14(250,750,70,40); DoublePipe b15(250,50,70,40); DoublePipe b16(950,50,70,40); DoublePipe b17(950,350,70,40); CrossPipe c0(250,450,100,40); CrossPipe c1(350,450,100,40); CrossPipe c2(450,450,100,40); DPIPES[0]=a0; DPIPES[1]=a1; DPIPES[2]=a2; DPIPES[3]=a3; DPIPES[4]=a4; DPIPES[5]=a5; DPIPES[6]=a6; DPIPES[7]=a7; DPIPES[8]=a8; DPIPES[9]=a9; DPIPES[10]=a10; DPIPES[11]=a11; DPIPES[12]=a12; DPIPES[13]=a13; DPIPES[14]=a14; DPIPES[15]=a15; DPIPES[16]=a16; DPIPES[17]=a17; DPIPES[18]=a18; DPIPES[19]=a19; DPIPES[20]=a20; DPIPES[21]=a21; DPIPES[22]=a22; DPIPES[23]=a23; DPIPES[24]=a24; DPIPES[25]=a25; DPIPES[26]=a26; DPIPES[27]=a27; DPIPES[28]=a28; DPIPES[29]=a29; DPIPES[30]=a30; DPIPES[31]=a31; DPIPES[32]=a32; DPIPES[33]=a33; DPIPES[34]=a34; DPIPES[35]=a35; DPIPES[36]=a36; DPIPES[37]=a37; DPIPES[38]=a38; DPIPES[39]=a39; DPIPES[40]=a40; DPIPES[41]=a41; DPIPES[42]=a42; DPIPES[43]=a43; DOUBPIPES[0]=b0; DOUBPIPES[1]=b1; DOUBPIPES[2]=b2; DOUBPIPES[3]=b3; DOUBPIPES[4]=b4; DOUBPIPES[5]=b5; DOUBPIPES[6]=b6; DOUBPIPES[7]=b7; DOUBPIPES[8]=b8; DOUBPIPES[9]=b9; DOUBPIPES[10]=b10; DOUBPIPES[11]=b11; DOUBPIPES[12]=b12; DOUBPIPES[13]=b13; DOUBPIPES[14]=b14; DOUBPIPES[15]=b15; DOUBPIPES[16]=b16; DOUBPIPES[17]=b17; CROSSPIPES[0]=c0; CROSSPIPES[1]=c1; CROSSPIPES[2]=c2; }
/* require thread support. */ #undef HAVE_PUSH_REGS #if defined(USE_ASM_PUSH_REGS) # define HAVE_PUSH_REGS #else /* No asm implementation */ void GC_push_regs() { # if defined(M68K) && defined(AMIGA) /* AMIGA - could be replaced by generic code */ /* a0, a1, d0 and d1 are caller save */ # ifdef __GNUC__ asm("subq.w &0x4,%sp"); /* allocate word on top of stack */ asm("mov.l %a2,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %a3,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %a4,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %a5,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %a6,(%sp)"); asm("jsr _GC_push_one"); /* Skip frame pointer and stack pointer */ asm("mov.l %d2,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %d3,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %d4,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %d5,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %d6,(%sp)"); asm("jsr _GC_push_one"); asm("mov.l %d7,(%sp)"); asm("jsr _GC_push_one"); asm("addq.w &0x4,%sp"); /* put stack back where it was */ # define HAVE_PUSH_REGS # else /* !__GNUC__ */ GC_push_one(getreg(REG_A2)); GC_push_one(getreg(REG_A3)); # ifndef __SASC /* Can probably be changed to #if 0 -Kjetil M. (a4=globals)*/ GC_push_one(getreg(REG_A4)); # endif GC_push_one(getreg(REG_A5)); GC_push_one(getreg(REG_A6)); /* Skip stack pointer */ GC_push_one(getreg(REG_D2)); GC_push_one(getreg(REG_D3)); GC_push_one(getreg(REG_D4)); GC_push_one(getreg(REG_D5)); GC_push_one(getreg(REG_D6)); GC_push_one(getreg(REG_D7)); # define HAVE_PUSH_REGS # endif /* !__GNUC__ */ # endif /* AMIGA */ # if defined(M68K) && defined(MACOS) # if defined(THINK_C) # define PushMacReg(reg) \ move.l reg,(sp) \ jsr GC_push_one asm { sub.w #4,sp ; reserve space for one parameter. PushMacReg(a2); PushMacReg(a3); PushMacReg(a4); ; skip a5 (globals), a6 (frame pointer), and a7 (stack pointer) PushMacReg(d2); PushMacReg(d3); PushMacReg(d4); PushMacReg(d5); PushMacReg(d6); PushMacReg(d7); add.w #4,sp ; fix stack. } # define HAVE_PUSH_REGS # undef PushMacReg # endif /* THINK_C */ # if defined(__MWERKS__) PushMacRegisters(); # define HAVE_PUSH_REGS # endif /* __MWERKS__ */ # endif /* MACOS */ }
void unordered_test(X&, Key& k, T& t, Hash& hf, Pred& eq) { typedef BOOST_DEDUCED_TYPENAME X::key_type key_type; typedef BOOST_DEDUCED_TYPENAME X::hasher hasher; typedef BOOST_DEDUCED_TYPENAME X::key_equal key_equal; typedef BOOST_DEDUCED_TYPENAME X::size_type size_type; typedef BOOST_DEDUCED_TYPENAME X::iterator iterator; typedef BOOST_DEDUCED_TYPENAME X::const_iterator const_iterator; typedef BOOST_DEDUCED_TYPENAME X::local_iterator local_iterator; typedef BOOST_DEDUCED_TYPENAME X::const_local_iterator const_local_iterator; typedef BOOST_DEDUCED_TYPENAME boost::BOOST_ITERATOR_CATEGORY<iterator>::type iterator_category; typedef BOOST_DEDUCED_TYPENAME boost::iterator_difference<iterator>::type iterator_difference; typedef BOOST_DEDUCED_TYPENAME boost::iterator_pointer<iterator>::type iterator_pointer; typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference<iterator>::type iterator_reference; typedef BOOST_DEDUCED_TYPENAME boost::BOOST_ITERATOR_CATEGORY<local_iterator>::type local_iterator_category; typedef BOOST_DEDUCED_TYPENAME boost::iterator_difference<local_iterator>::type local_iterator_difference; typedef BOOST_DEDUCED_TYPENAME boost::iterator_pointer<local_iterator>::type local_iterator_pointer; typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference<local_iterator>::type local_iterator_reference; typedef BOOST_DEDUCED_TYPENAME boost::BOOST_ITERATOR_CATEGORY<const_iterator>::type const_iterator_category; typedef BOOST_DEDUCED_TYPENAME boost::iterator_difference<const_iterator>::type const_iterator_difference; typedef BOOST_DEDUCED_TYPENAME boost::iterator_pointer<const_iterator>::type const_iterator_pointer; typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference<const_iterator>::type const_iterator_reference; typedef BOOST_DEDUCED_TYPENAME boost::BOOST_ITERATOR_CATEGORY<const_local_iterator>::type const_local_iterator_category; typedef BOOST_DEDUCED_TYPENAME boost::iterator_difference<const_local_iterator>::type const_local_iterator_difference; typedef BOOST_DEDUCED_TYPENAME boost::iterator_pointer<const_local_iterator>::type const_local_iterator_pointer; typedef BOOST_DEDUCED_TYPENAME boost::iterator_reference<const_local_iterator>::type const_local_iterator_reference; BOOST_MPL_ASSERT((boost::is_same<Key, key_type>)); boost::function_requires<boost::CopyConstructibleConcept<key_type> >(); boost::function_requires<boost::AssignableConcept<key_type> >(); BOOST_MPL_ASSERT((boost::is_same<Hash, hasher>)); test::check_return_type<std::size_t>::equals(hf(k)); BOOST_MPL_ASSERT((boost::is_same<Pred, key_equal>)); test::check_return_type<bool>::convertible(eq(k, k)); boost::function_requires<boost::InputIteratorConcept<local_iterator> >(); BOOST_MPL_ASSERT((boost::is_same<local_iterator_category, iterator_category>)); BOOST_MPL_ASSERT((boost::is_same<local_iterator_difference, iterator_difference>)); BOOST_MPL_ASSERT((boost::is_same<local_iterator_pointer, iterator_pointer>)); BOOST_MPL_ASSERT((boost::is_same<local_iterator_reference, iterator_reference>)); boost::function_requires<boost::InputIteratorConcept<const_local_iterator> >(); BOOST_MPL_ASSERT((boost::is_same<const_local_iterator_category, const_iterator_category>)); BOOST_MPL_ASSERT((boost::is_same<const_local_iterator_difference, const_iterator_difference>)); BOOST_MPL_ASSERT((boost::is_same<const_local_iterator_pointer, const_iterator_pointer>)); BOOST_MPL_ASSERT((boost::is_same<const_local_iterator_reference, const_iterator_reference>)); X(10, hf, eq); X a(10, hf, eq); X(10, hf); X a2(10, hf); X(10); X a3(10); X(); X a4; BOOST_DEDUCED_TYPENAME X::value_type* i = 0; BOOST_DEDUCED_TYPENAME X::value_type* j = 0; X(i, j, 10, hf, eq); X a5(i, j, 10, hf, eq); X(i, j, 10, hf); X a6(i, j, 10, hf); X(i, j, 10); X a7(i, j, 10); X(i, j); X a8(i, j); X const b; sink(X(b)); X a9(b); a = b; test::check_return_type<hasher>::equals(b.hash_function()); test::check_return_type<key_equal>::equals(b.key_eq()); const_iterator q = a.cbegin(); test::check_return_type<iterator>::equals(a.insert(q, t)); test::check_return_type<iterator>::equals(a.emplace_hint(q, t)); a.insert(i, j); test::check_return_type<size_type>::equals(a.erase(k)); BOOST_TEST(a.empty()); if(a.empty()) { a.insert(t); q = a.cbegin(); test::check_return_type<iterator>::equals(a.erase(q)); } const_iterator q1 = a.cbegin(), q2 = a.cend(); test::check_return_type<iterator>::equals(a.erase(q1, q2)); a.clear(); test::check_return_type<iterator>::equals(a.find(k)); test::check_return_type<const_iterator>::equals(b.find(k)); test::check_return_type<size_type>::equals(b.count(k)); test::check_return_type<std::pair<iterator, iterator> >::equals( a.equal_range(k)); test::check_return_type<std::pair<const_iterator, const_iterator> >::equals( b.equal_range(k)); test::check_return_type<size_type>::equals(b.bucket_count()); test::check_return_type<size_type>::equals(b.max_bucket_count()); test::check_return_type<size_type>::equals(b.bucket(k)); test::check_return_type<size_type>::equals(b.bucket_size(0)); test::check_return_type<local_iterator>::equals(a.begin(0)); test::check_return_type<const_local_iterator>::equals(b.begin(0)); test::check_return_type<local_iterator>::equals(a.end(0)); test::check_return_type<const_local_iterator>::equals(b.end(0)); test::check_return_type<const_local_iterator>::equals(a.cbegin(0)); test::check_return_type<const_local_iterator>::equals(b.cbegin(0)); test::check_return_type<const_local_iterator>::equals(a.cend(0)); test::check_return_type<const_local_iterator>::equals(b.cend(0)); test::check_return_type<float>::equals(b.load_factor()); test::check_return_type<float>::equals(b.max_load_factor()); a.max_load_factor((float) 2.0); a.rehash(100); }
void drive_resolve_specialChars() { const char* env = getenv("PEGASUS_HOME"); String repositoryDir(env); repositoryDir.append("/repository"); //String repositoryDir("c:/pegasus-cvs/pegasus/repository"); CIMNamespaceName _ns("root/cimv2"); CIMRepository *_rep = new CIMRepository(repositoryDir); RepositoryQueryContext _query(_ns, _rep); RepositoryQueryContext _query1(_ns, _rep); try { const CQLIdentifier _Id1(String("CIM_OperatingSystem")); _query.insertClassPath(_Id1); const CIMName _cimName(String("CIM_OperatingSystem")); CIMInstance _i1(_cimName); CIMProperty _p1(CIMName("OSType"),CIMValue(Uint16(11))); CIMProperty _p2(CIMName("Status"),CIMValue(String("Degraded"))); Array<Uint16> array16; array16.append(Uint16(0)); array16.append(Uint16(1)); array16.append(Uint16(2)); array16.append(Uint16(3)); CIMProperty _p3(CIMName("OperationalStatus"),CIMValue(array16)); _i1.addProperty(_p1); _i1.addProperty(_p2); _i1.addProperty(_p3); CQLChainedIdentifier ci1(String("CIM_OperatingSystem.OSType#OS400")); CQLChainedIdentifier ci2(String("CIM_OperatingSystem.OSType#LINUX")); CQLChainedIdentifier ci3(String("CIM_OperatingSystem.Status#Degraded")); CQLChainedIdentifier ci5(String("CIM_OperatingSystem.Status#BOGUS")); CQLChainedIdentifier ci6( String("CIM_OperatingSystem.CIM_OperatingSystem::" "OperationalStatus[2]")); CQLValue a1(ci1); CQLValue a2(ci2); CQLValue a3(ci3); CQLValue a5(ci5); CQLValue a6(ci6); a1.resolve(_i1, _query); a2.resolve(_i1, _query); a6.resolve(_i1, _query); try { a3.resolve(_i1, _query); PEGASUS_TEST_ASSERT(0); } catch(...) { PEGASUS_TEST_ASSERT(1); } try { a5.resolve(_i1, _query); PEGASUS_TEST_ASSERT(0); } catch(...) { PEGASUS_TEST_ASSERT(1); } PEGASUS_TEST_ASSERT(a1 == CQLValue(Uint64(11))); PEGASUS_TEST_ASSERT(a2 == CQLValue(Uint64(36))); PEGASUS_TEST_ASSERT(a6 == CQLValue(Uint64(2))); } catch(Exception & e) { cout << e.getMessage() << endl; PEGASUS_TEST_ASSERT(0); } delete _rep; return; }
int main() { // Några saker som ska fungera: UIntVector a(10); // initiering med 7 element std::cout << "a(10)"<< a.length << std::endl; std::cout << "kopiering" << std::endl; UIntVector b(a); // kopieringskonstruktor std::cout << "kopiering" << std::endl; a = a; std::cout << "s**t" << std::endl; UIntVector c = a; // kopieringskonstruktor //Extra tester för alla Requirments a = b; // tilldelning genom kopiering a[5] = 7; // tilldelning till element const UIntVector e(100000); // konstant objekt med 10 element int i = e[5]; // const int oper[](int) const körs i = a[0]; // vektorn är nollindexerad i = a[5]; // int oper[](int) körs a[5]++; // öka värdet till 8 //Extra tester för alla Requirments std::cout << "(1)TEST" << std::endl; int aa = e[9]; int ab = e[0]; std::cout << "(1)S**T" << aa << ab << std::endl; std::cout << "(2)TEST" << std::endl; for(long int i = 0; i < 100000; i++) { e[i]; } std::cout << "(2)S**T" << std::endl; std::cout << "(3)TEST" << std::endl; UIntVector a3(10); UIntVector b3(0); UIntVector c3(0); b3 = a3; a3 = c3; std::cout << "(3)S**T" << std::endl; std::cout << "(4) START" << std::endl; std::initializer_list<unsigned int> list = {1,2,3}; UIntVector a4(list); UIntVector b4(0); a4 = b4; std::cout << "length a" << a4.size() << "len b " << b4.size() << std::endl; std::cout << "(4) S**T" << std::endl; std::cout << "(5)TEST" << std::endl; UIntVector b5(list); UIntVector a5(std::move(b5)); std::cout << "(5)S**T" << std::endl; std::cout << "(6)TEST" << std::endl; UIntVector a6(30); UIntVector b6(a6); std::cout << "(6)S**T" << std::endl; std::cout << "(7)TEST" << std::endl; UIntVector a7(1); std::cout << "a) len innan " <<a7.length << std::endl; UIntVector b7(std::move(a7)); std::cout << "b) len " <<b7.length << std::endl; std::cout << "a) len " <<a7.length << std::endl; std::cout << "(7)S**T" << std::endl; std::cout << "(8)TEST" << std::endl; UIntVector a8(10); a8.reset(); UIntVector b8(11); std::cout << "a) INNAN len " <<a8.size() << "ptr " << a8.vector_ptr <<std::endl; UIntVector c8(std::move(a8)); std::cout << "c) len " <<c8.size() << "ptr" << c8.vector_ptr <<std::endl; std::cout << "a) len " <<a8.size() << "ptr " << a8.vector_ptr <<std::endl; std::cout << "(8)S**T" << std::endl; std::cout << "(9)TEST COPY TO SELF" << std::endl; b8 = b8; std::cout << "(9)S**T" << std::endl; try { i = e[10]; // försöker hämta element som ligger utanför e } catch (std::out_of_range e) { std::cout << e.what() << std::endl; } #if 0 // Diverse saker att testa e[5] = 3; // fel: (kompilerar ej) tilldelning till const b = b; // hmm: se till att inte minnet som skall behållas frigörs #endif return 0; }
void main() { //Create our audio channels AudioChannel a1(0); AudioChannel a2(1); AudioChannel a3(2); AudioChannel a4(3); AudioChannel a5(4); AudioChannel a6(5); channels[0] = &a1; channels[1] = &a2; channels[2] = &a3; channels[3] = &a4; channels[4] = &a5; channels[5] = &a6; r.seed(); channels[BALL_ROLL_CHANNEL]->play(sRollLoop, REPEAT); //Start playing rolling marble noise channels[BALL_ROLL_CHANNEL]->setVolume(0); for(int i = 0; i < NUM_CUBES; i++) g_starsCollected[i] = 0; for(int i = 0; i < NUM_COLORS; i++) g_bColorsUsed[i] = false; g_iBoardReset = -1; g_iScore = -1; TimeStep ts; float fTapPromptDelay = 0.0; int iBoardDied; //Initialize our boards for(int i = 0; i < NUM_CUBES; i++) boards[i].init(i); Events::neighborAdd.set(onNeighborAdd); //Function for when two cubes touch each other Events::cubeTouch.set(onTouch); //Function for when a cube is tapped //Add the marble to one of them Float2 fVel; fVel.set(0,0); Float2 fPos = LCD_center; fPos.x += TILE_WIDTH/2.0; fPos.y += TILE_HEIGHT/2.0; boards[0].addMarble(fPos, fVel); TextDraw td; bool bFirstSound = true; //Main loop while (1) { ts.next(); for(int i = 0; i < NUM_CUBES; i++) { int iMode; switch(g_iCurMode) { case BOARD_NOTHING: iMode = boards[i].update(float(ts.delta())); //Update our rolling sound to the right volume if(boards[i].hasMarble()) { float fVol = boards[i].getMarbleVelocity() * 0.9; if(fVol > MAX_VOLUME) fVol = MAX_VOLUME; channels[BALL_ROLL_CHANNEL]->setVolume(fVol); } if(iMode & BOARD_GOTPOINT) { iMode ^= BOARD_GOTPOINT; g_iScore++; if(++g_starsCollected[i] == NUM_STARS_CUBE) g_iBoardReset = i; //Play sound for getting a star, but not right on reset if(bFirstSound) bFirstSound = false; else channels[BALL_SFX_CHANNEL]->play(sGetStar); } if(iMode & BOARD_DIED) { //Show game over screen iMode ^= BOARD_DIED; iMode |= MODE_GAMEOVER; td.draw(boards[i].getVid(), "Game over", 6); String<64> s; s << "Score: " << g_iScore; td.draw(boards[i].getVid(), s.c_str(), 8); fTapPromptDelay = 0.0; iBoardDied = i; bFirstSound = true; channels[BALL_ROLL_CHANNEL]->setVolume(0); channels[BALL_SFX_CHANNEL]->play(sDie); } if(iMode & BOARD_LEFT) { iMode ^= BOARD_LEFT; if(g_iBoardReset == i) { boards[i].reset(g_bColorsUsed); g_starsCollected[i] = 0; g_iBoardReset = -1; g_iScore += 3; //Three points for clearing board //Play sound effect for clearing board channels[BOARD_SFX_CHANNEL]->play(sBoardClear); } //Play pass-through-portal sound else if(!channels[PORTAL_CHANNEL]->isPlaying()) channels[PORTAL_CHANNEL]->play(sThroughPortal); } if(iMode & BOARD_WAITPORTAL) { //Play sound effect for entering a portal channels[PORTAL_CHANNEL]->play(sPortalEnter); channels[BALL_ROLL_CHANNEL]->setVolume(0); } g_iCurMode = iMode; break; case BOARD_WAITPORTAL: boards[i].waitPortal(float(ts.delta())); channels[BALL_ROLL_CHANNEL]->setVolume(0); break; case MODE_GAMEOVER: fTapPromptDelay += float(ts.delta()) / 3.0; if(fTapPromptDelay >= TAP_PROMPT_DELAY && fTapPromptDelay < 100.0) { fTapPromptDelay = 100; td.draw(boards[iBoardDied].getVid(), "Tap to restart", 14); } channels[BALL_ROLL_CHANNEL]->setVolume(0); } } System::paint(); } }