void test_mutex_timed_lock(P &sm) { { shared_val = 0; data<P> m1(1, sm, 3); data<P> m2(2, sm, 3); // Locker one launches, holds the lock for 3*BaseSeconds seconds. boost::thread tm1(thread_adapter<P>(&timed_wait_and_sleep, &m1, sm)); //Wait 1*BaseSeconds boost::thread::sleep(xsecs(1*BaseSeconds)); // Locker two launches, holds the lock for 3*BaseSeconds seconds. boost::thread tm2(thread_adapter<P>(&timed_wait_and_sleep, &m2, sm)); //Wait completion tm1.join(); tm2.join(); //Both should succeed locking assert(m1.m_value == 1); assert(m2.m_value == 2); } { shared_val = 0; data<P> m1(1, sm, 3); data<P> m2(2, sm, 3); // Locker one launches, holds the lock for 3*BaseSeconds seconds. boost::thread tm1(thread_adapter<P>(&timed_wait_and_sleep, &m1, sm)); //Wait 1*BaseSeconds boost::thread::sleep(xsecs(1*BaseSeconds)); // Locker two launches, holds the lock for 3*BaseSeconds seconds. boost::thread tm2(thread_adapter<P>(&timed_wait_and_sleep, &m2, sm)); //Wait completion tm1.join(); tm2.join(); //Both should succeed locking assert(m1.m_value == 1); assert(m2.m_value == 2); } }
void test_buflen() { { coil::TimeMeasure tm0(1); CPPUNIT_ASSERT(tm0.count() == 0); tm0.tick(); tm0.tack(); CPPUNIT_ASSERT(tm0.count() == 1); } { const unsigned int count(1024); coil::TimeMeasure tm1(count); for (unsigned int i(0); i < count; ++i) { CPPUNIT_ASSERT(tm1.count() == i); tm1.tick(); tm1.tack(); } for (unsigned int i(0); i < count; ++i) { tm1.tick(); tm1.tack(); CPPUNIT_ASSERT(tm1.count() == (count + 1)); } } }
int GetSeconds(COleDateTime& time1) { SYSTEMTIME sm1; time1.GetAsSystemTime(sm1); CTime tm1(sm1); return (int)(tm1.GetTime()); }
int GetSeconds(COleDateTime& time1, COleDateTime& time2) { SYSTEMTIME sm1, sm2; time1.GetAsSystemTime(sm1); time2.GetAsSystemTime(sm2); CTime tm1(sm1); CTime tm2(sm2); return (int)(tm1.GetTime() - tm2.GetTime()); }
double getTransMass(Double_t px1, Double_t py1, Double_t mass1, Double_t mag2, Double_t phi2, Double_t mass2 ) { TVector2 tm1(px1, py1); TVector2 tm2; tm2.SetMagPhi(mag2, phi2); Double_t pt1 = tm1.Mod(); Double_t pt2 = mag2; Double_t ptTot = (tm1+tm2).Mod(); Double_t etZ1 = sqrt( pt1*pt1 + mass1*mass1 ); Double_t etZ2 = sqrt( pt2*pt2 + mass2*mass2 ); Double_t etZZtot = etZ1+etZ2; Double_t transverseMassZZ = sqrt(etZZtot*etZZtot - ptTot*ptTot); return transverseMassZZ; }
WidgetEdit::WidgetEdit( gdi::GraphicApi & drawable, Widget & parent, NotifyApi* notifier, const char * text, int group_id, BGRColor fgcolor, BGRColor bgcolor, BGRColor focus_color, Font const & font, std::size_t edit_position, int xtext, int ytext) : Widget(drawable, parent, notifier, group_id) , label(drawable, *this, nullptr, text, 0, fgcolor, bgcolor, font, xtext, ytext) , w_text(0) , h_text(0) , cursor_color(0x888888) , focus_color(focus_color) , drawall(false) , draw_border_focus(true) , font(font) { if (text) { this->buffer_size = strlen(text); this->num_chars = UTF8Len(byte_ptr_cast(this->label.buffer)); this->edit_pos = std::min(this->num_chars, edit_position); this->edit_buffer_pos = UTF8GetPos(reinterpret_cast<uint8_t *>(this->label.buffer), this->edit_pos); this->cursor_px_pos = 0; char c = this->label.buffer[this->edit_buffer_pos]; this->label.buffer[this->edit_buffer_pos] = 0; gdi::TextMetrics tm1(this->font, this->label.buffer); this->w_text = tm1.width; this->cursor_px_pos = this->w_text; this->label.buffer[this->edit_buffer_pos] = c; // TODO: tm.height unused ? gdi::TextMetrics tm2(this->font, &this->label.buffer[this->edit_buffer_pos]); this->w_text += tm2.width; } else { this->buffer_size = 0; this->num_chars = 0; this->edit_buffer_pos = 0; this->edit_pos = 0; this->cursor_px_pos = 0; } // TODO: tm.width unused ? gdi::TextMetrics tm(this->font, "Édp"); this->h_text = tm.height; this->h_text -= 1; this->pointer_flag = Pointer::POINTER_EDIT; }
void Objectness::trainObjectness(int numDetPerSize) { CmTimer tm1("Train1"), tm2("Train 2"); //* Learning stage I tm1.Start(); generateTrianData(); trainStageI(); tm1.Stop(); printf("Learning stage I takes %g seconds... \n", tm1.TimeInSeconds()); //*/ //* Learning stage II tm2.Start(); trainStateII(numDetPerSize); tm2.Stop(); printf("Learning stage II takes %g seconds... \n", tm2.TimeInSeconds()); //*/ return; }
int init() { QTextStream out(stdout); QDate dt1(2011, 4, 12); out << "The dae is " << dt1.toString() << endl; QDate dt2; dt2.setDate(2011, 3, 3); out << "The date is " << dt2.toString() << endl; QTime tm1(17, 30, 12, 55); out << "The time is " << tm1.toString("hh:mm:ss.zzz") << endl; QTime tm2; tm2.setHMS(13, 53, 45, 155); out << "The time is " << tm2.toString("hh:mm:ss.zzz") << endl; return 0; }
TEST(QxTest, TriMatrixAdd) { TriMatrix tm1( Matrix(1, 0, 2, 0, 0, 0, -1, 0,-2), Matrix(0,-1, 0, 0, 0, 0, 0, 1, 0), Matrix(0,-3, 1, 0, 0, 0, 0, 3,-1) ); const TriMatrix tm2( Matrix(0, 2, 0, 5, 0, 0, 0, 0, 1), Matrix(3, 0, 0, 0, 2, 0, 0, 0, 1), Matrix(0, 0,-2, 0,-1, 0, 1, 0, 0) ); const TriMatrix expected( Matrix(1, 2, 2, 5, 0, 0, -1, 0,-1), Matrix(3,-1, 0, 0, 2, 0, 0, 1, 1), Matrix(0,-3,-1, 0,-1, 0, 1, 3,-1) ); tm1 += tm2; EXPECT_EQ(expected.matrices[0], tm1.matrices[0]); EXPECT_EQ(expected.matrices[1], tm1.matrices[1]); EXPECT_EQ(expected.matrices[2], tm1.matrices[2]); }
YKString DateSpanArray::CalDate(const YKString& span, set<YK_INT>& weekList ) { YKString wstr = span; vector<YKString> dateVec; span.Parse<YKString>(dateVec, L"~"); if(dateVec.size() == 1) { dateVec.clear(); span.Parse<YKString>(dateVec, L"-"); if(dateVec.size() == 1) { dateVec.clear(); span.Parse<YKString>(dateVec, L"/"); } } if ( L"*" == span ) { for(YK_INT i = 1; i <= 7; i++) { weekList.insert(i); } } else if(dateVec.size() == 1 &&WeekCorrespond(dateVec[0]) >0) { weekList.insert(WeekCorrespond(dateVec[0])); } else if(dateVec.size() == 2) /* 单个时间 */ { vector<YKString> dateVec1; dateVec[0].Parse<YKString>(dateVec1, L"/"); vector<YKString> dateVec2; dateVec[1].Parse<YKString>(dateVec2, L"/"); if(dateVec1.size() == 3 && dateVec2.size() == 3) { time_t tm1(0),tm2(0); YK_INT year = 0,month = 0,day = 0; if(YKTools::AdjustStrToInt(dateVec1[0],year,3,1900,5000) == 0 && YKTools::AdjustStrToInt(dateVec1[1],month,3,1,12) == 0 && YKTools::AdjustStrToInt(dateVec1[2],day,3,1,31) == 0) { tm1 = YKDateTime(year,month,day).GetDateTime(); } if(YKTools::AdjustStrToInt(dateVec2[0],year,3,1900,5000) == 0 && YKTools::AdjustStrToInt(dateVec2[1],month,3,1,12) == 0 && YKTools::AdjustStrToInt(dateVec2[2],day,3,1,31) == 0) { tm2 = YKDateTime(year,month,day).GetDateTime(); } if(tm1 > 0 && tm2 >= tm1) { for(;tm1<=tm2;tm1 += 86400) { m_dateSpanArray.insert(tm1); } } else { m_errorFlg = true; } } else if(WeekCorrespond(dateVec[0]) >0 &&WeekCorrespond(dateVec[1]) >0 ) { YK_INT w1 = WeekCorrespond(dateVec[0]); YK_INT w2 = WeekCorrespond(dateVec[1]); for(YK_INT i = w1/*min(w1,w2)*/; i != w2/*max(w1,w2)*/; i++) { weekList.insert(i); if(i>=7) i=0; } weekList.insert(w2); } else m_errorFlg = true; } else if(dateVec.size() == 3) //格式 2009-7-16 { YK_INT year = 0,month = 0,day = 0; if(YKTools::AdjustStrToInt(dateVec[0],year,3,1900,5000) == 0 && YKTools::AdjustStrToInt(dateVec[1],month,3,1,12) == 0 && YKTools::AdjustStrToInt(dateVec[2],day,3,1,31) == 0) { YKDateTime sTm(year,month,day); m_dateSpanArray.insert(sTm.GetDateTime()); } else m_errorFlg = true; } else m_errorFlg = true; return wstr; }
void CTTypes::RunTestCaseL(TInt aCurTestCase) { switch(aCurTestCase) { case 1: { __UHEAP_MARK; TestRgb tr1(0,0,0, this); TestRgb tr2(100,100,100, this); TestRgb tr3(10,20,30, this); TestRgb tr4(110,160,210, this); TestRgb tr5(255,255,255, this); INFO_PRINTF1(_L("TRgb")); tr1.Test(); tr2.Test(); tr3.Test(); tr4.Test(); tr5.Test(); ((CTTypesStep*)iStep)->CloseTMSGraphicsStep(); __UHEAP_MARKEND; } break; case 2: { INFO_PRINTF1(_L("TTypeface")); TestTypeface ttf1(_L(""), 0, this); TestTypeface ttf2(_L("Font name"), 1, this); TestTypeface ttf3(_L("Font name"), 2, this); TestTypeface ttf4(_L("Font name"), 3, this); TestTypeface ttf5(_L("Font name"), 4, this); TestTypeface ttf6(_L("Font name"), 5, this); TestTypeface ttf7(_L("Font name"), 6, this); TestTypeface ttf8(_L("Another font name"), 7, this); ttf1.Test(); ttf2.Test(); ttf3.Test(); ttf4.Test(); ttf5.Test(); ttf6.Test(); ttf7.Test(); ttf8.Test(); } break; case 3: { TestMargins tm1(0,0,0,0, this); TestMargins tm2(10,20,30,40, this); TestMargins tm3(-10,-20,-30,-40, this); INFO_PRINTF1(_L("TMargins")); tm1.Test(); tm2.Test(); tm3.Test(); } break; case 4: { TestPageSpec tps1(TPageSpec::EPortrait,TSize(0,0), this); TestPageSpec tps2(TPageSpec::ELandscape,TSize(0,0), this); TestPageSpec tps3(TPageSpec::EPortrait,TSize(10,-5), this); TestPageSpec tps4(TPageSpec::ELandscape,TSize(15,-20), this); TestPageSpec tps5(TPageSpec::EPortrait,TSize(1000,1500), this); TestPageSpec tps6(TPageSpec::ELandscape,TSize(2000,500), this); INFO_PRINTF1(_L("TPageSpec")); tps1.Test(); tps2.Test(); tps3.Test(); tps4.Test(); tps5.Test(); tps6.Test(); } break; case 5: { INFO_PRINTF1(_L("FontEffect")); ((CTTypesStep*)iStep)->SetTestStepID(_L("GRAPHICS-GDI-0002")); TestFontEffect te(this); ((CTTypesStep*)iStep)->RecordTestResultL(); te.Test(); } break; case 6: { INFO_PRINTF1(_L("TFontSyle")); TestTFontStyle ts(this); ts.Test(); } break; case 7: { TTypeface typeface; typeface.iName=_L("Font name"); TFontStyle fontstyle; TestFontSpec tfspec(typeface,200,fontstyle, this); INFO_PRINTF1(_L("TFontSpec")); tfspec.Test(); } break; case 8: { /* TestLine tl1(TPoint(10,10),TPoint(90,90), this); TestLine tl2(TPoint(100,150),TPoint(50,-50), this); TestLine tl3(TPoint(-50,50),TPoint(60,-40), this); TestLine tl4(TPoint(-100,0),TPoint(0,200), this); TestLine tl5(TPoint(150,-50),TPoint(50,75), this); TestLine tl6(TPoint(0,-100),TPoint(-50,-150), this); TestLine tl7(TPoint(-1000,-1000),TPoint(1000,1000), this); TestLine tl8(TPoint(1000,-1000),TPoint(-1000,1000), this); TestLine tl9(TPoint(500,-1000),TPoint(-500,1000), this); TestLine tl10(TPoint(-500,-1000),TPoint(500,1000), this); TestLine tl11(TPoint(1000,-500),TPoint(-1000,500), this); TestLine tl12(TPoint(1000,500),TPoint(-1000,-500), this); INFO_PRINTF1(_L("TLinearDDA")); tl1.Test(); tl2.Test(); tl3.Test(); tl4.Test(); tl5.Test(); tl6.Test(); tl7.Test(); tl8.Test(); tl9.Test(); tl10.Test(); tl11.Test(); tl12.Test(); */ INFO_PRINTF1(_L("TLinearDDA is only for Graphics team. Removed.")); } break; case 9: { INFO_PRINTF1(_L("CTypefaceStore")); TestTFStore ttfs(this); ttfs.Test(); } break; case 10: { INFO_PRINTF1(_L("CFontCache")); TestFontCache tfc(this); tfc.Test(); } break; case 11: { /* INFO_PRINTF1(_L("CScaleCropPicture")); TestPicture tp(this); tp.Test(); */ INFO_PRINTF1(_L("CScaleCropPicture is only for Graphics team. Removed.")); } break; case 12: { /* INFO_PRINTF1(_L("CPalette")); TestPalette tpal(this); tpal.Test(); */ INFO_PRINTF1(_L("CPalette is only for Graphics team. Removed.")); } break; case 13: { INFO_PRINTF1(_L("TDisplayModeUtils")); TestDisplayModeUtils tdmu(this); tdmu.Test(); } break; case 14: ((CTTypesStep*)iStep)->SetOverallTestStepID(_L("GRAPHICS-GDI-0001")); ((CTTypesStep*)iStep)->RecordTestResultL(); ((CTTypesStep*)iStep)->CloseTMSGraphicsStep(); TestComplete(); break; } }
int main ( int argc, char *argv[] ) { TuringMachine<5> tm1 ( 9, 0, 11, 1, 15, 2, 17, 3, 11, 4, 23, 5, 24, 6, 3, 7, 21, 9, 0 ); // Marxen-Buntrock, 4097 TuringMachine<5> tm2 ( 9, 0, 11, 1, 18, 2, 15, 3, 23, 4, 3, 5, 15, 7, 29, 8, 5, 9, 8 ); // Marxen-Buntrock, 4096 TuringMachine<5> tm3 ( 9, 0, 11, 1, 5, 2, 15, 3, 20, 4, 3, 5, 15, 7, 29, 8, 24, 9, 11 ); // Marxen-Buntrock, 4095 TuringMachine<5> tm4 ( 9, 0, 11, 1, 5, 2, 15, 3, 20, 4, 3, 5, 15, 7, 29, 8, 15, 9, 11 ); // Marxen-Buntrock, 4095 TuringMachine<5> tm5 ( 9, 0, 11, 1, 5, 2, 15, 3, 9, 4, 5, 5, 21, 6, 5, 7, 27, 9, 12 ); // Marxen-Buntrock, 4097 TuringMachine<5> tm6 ( 9, 0, 11, 1, 5, 2, 15, 3, 23, 4, 3, 5, 15, 7, 26, 8, 15, 9, 11 ); // Marxen-Buntrock, 4096 TuringMachine<5> tm7 ( 9, 0, 11, 2, 15, 3, 17, 4, 26, 5, 18, 6, 15, 7, 6, 8, 23, 9, 5 ); // Uhing, 1471 TuringMachine<5> tm8 ( 9, 0, 11, 1, 15, 2, 0, 3, 18, 4, 3, 6, 9, 7, 29, 8, 20, 9, 8 ); // Uhing, 1915 TuringMachine<5> tm9 ( 9, 0, 11, 1, 12, 2, 17, 3, 23, 4, 3, 5, 8, 6, 26, 8, 15, 9, 5 ); // Schult, 501 TuringMachine<5> tm10 ( 9, 0, 9, 1, 12, 2, 15, 3, 21, 4, 29, 5, 1, 7, 24, 8, 2, 9, 27 );// 160 TuringMachine<5> tm11 ( 9, 0, 21, 1, 9, 2, 24, 3, 6, 4, 3, 5, 20, 6, 17, 7, 0, 9, 15 );// 32 TuringMachine<5> tm12 ( 9, 0, 9, 1, 11, 2, 17, 3, 21, 4, 19, 5, 29, 6, 5, 7, 6, 8, 8 );// 26 TuringMachine<5> tm13 ( 9, 0, 9, 1, 11, 2, 15, 3, 20, 4, 21, 5, 27, 6, 4, 7, 2, 8, 12 );// 21 TuringMachine<5> tm14 ( 9, 0, 9, 1, 11, 2, 26, 3, 23, 4, 27, 5, 2, 7, 17, 8, 5, 9, 13 );// 19 TuringMachine<5> tm15 ( 9, 0, 9, 1, 11, 2, 5, 3, 20, 4, 17, 5, 24, 7, 29, 8, 15, 9, 1 );// 14 TuringMachine<5> tm16 ( 9, 0, 9, 1, 11, 2, 5, 3, 20, 4, 15, 5, 0, 6, 26, 7, 17, 8, 27 );// 15 TuringMachine<5> tm17 ( 9, 0, 9, 1, 11, 2, 5, 3, 20, 4, 27, 5, 29, 7, 17, 8, 8, 9, 0 );// 16 TuringMachine<5> tm18 ( 9, 0, 9, 1, 11, 2, 12, 3, 23, 4, 18, 5, 15, 6, 29, 7, 5, 8, 2 );// 17 TuringMachine<5> tm19 ( 9, 0, 9, 1, 11, 2, 5, 3, 23, 4, 27, 6, 17, 7, 20, 8, 0, 9, 13 );// 18 TuringMachine<5> tm20 ( 9, 0, 9, 1, 11, 2, 5, 3, 20, 4, 15, 5, 0, 6, 27, 7, 17, 9, 1 );// 13 1 marad a 14-esbol. TuringMachine<5> tm21 ( 9, 0, 9, 1, 11, 2, 5, 3, 20, 4, 15, 5, 0, 7, 17, 8, 15, 9, 1 );// 12 TuringMachine<5> tm22 ( 9, 0, 9, 1, 14, 2, 5, 3, 21, 4, 8, 5, 1, 6, 3, 8, 15, 9, 1 );// 11 TuringMachine<5> tm23 ( 9, 0, 6, 1, 17, 2, 15, 3, 3, 4, 5, 5, 20, 6, 3, 8, 15, 9, 1 );// 10 TuringMachine<5> tm24 ( 9, 0, 9, 1, 17, 2, 18, 3, 1, 4, 5, 6, 15, 7, 29, 8, 15, 9, 1 );// 9 TuringMachine<5> tm25 ( 9, 0, 9, 1, 14, 2, 18, 3, 3, 4, 5, 6, 15, 7, 29, 8, 15, 9, 1 );// 8 TuringMachine<5> tm26 ( 9, 0, 25, 1, 11, 2, 23, 3, 27, 4, 1, 5, 21, 6, 5, 7, 16, 8, 21 );// 6 TuringMachine<5> tm27 ( 9, 0, 25, 1, 11, 2, 23, 4, 23, 5, 27, 6, 5, 7, 17, 8, 9, 9, 29 ); // 5 TuringMachine<5> tm28 ( 9, 0, 9, 1, 11, 2, 5, 3, 20, 4, 17, 5, 24, 7, 29, 8, 15, 9, 1 );// 4 TuringMachine<5> tm29 ( 9, 0, 16, 1, 14, 2, 18, 3, 11, 4, 27, 5, 29, 7, 27, 8, 21, 9, 12 ); // 3 TuringMachine<5> tm30 ( 9, 0, 16, 1, 14, 2, 18, 3, 12, 4, 27, 5, 9, 6, 26, 7, 0, 8, 29 ); // 2 TuringMachine<5> mbR ( 9, 0, 11, 1, 15, 2, 17, 3, 1, 4, 23, 5, 24, 6, 3, 7, 21, 9, 0 );// Marxen-Buntrock, (recombinated 70740809, 4097) // NEITHER OrchMach1 NOR TuringMachine OBJECTS CAN BE USED IN PARALLEL OrchMach1<5>* om; if ( std::getenv ( "SLURM_ARRAY_TASK_ID" ) ) { switch ( std::atoi ( std::getenv ( "SLURM_ARRAY_TASK_ID" ) ) ) { // Breeds that were surely divergent were deleted. case 1: om = new OrchMach1<5> ( 18, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm29, &tm30 ); break; case 4: om = new OrchMach1<5> ( 17, &tm10, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm29, &tm30 ); break; case 7: om = new OrchMach1<5> ( 31-7, &tm8, &tm9, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 8: om = new OrchMach1<5> ( 31-8, &tm9, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 9: om = new OrchMach1<5> ( 31-9, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 10: om = new OrchMach1<5> ( 31-10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 12: om = new OrchMach1<5> ( 15, &tm11, &tm12, &tm13, &tm14, &tm15, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30 ); break; case 13: om = new OrchMach1<5> ( 18, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm29, &tm30 ); break; case 16: om = new OrchMach1<5> ( 17, &tm10, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm29, &tm30 ); break; case 19: om = new OrchMach1<5> ( 31-7, &tm8, &tm9, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 20: om = new OrchMach1<5> ( 31-8, &tm9, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 21: om = new OrchMach1<5> ( 31-9, &tm10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 22: om = new OrchMach1<5> ( 31-10, &tm11, &tm12, &tm13, &tm14, &tm15, &tm16, &tm17, &tm18, &tm19, &tm20, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30, &mbR ); break; case 24: om = new OrchMach1<5> ( 15, &tm11, &tm12, &tm13, &tm14, &tm15, &tm21, &tm22, &tm23, &tm24, &tm25, &tm26, &tm27, &tm28, &tm29, &tm30 ); break; } } else om = new OrchMach1<5> ( 5, &tm2, &tm12, &tm13, &tm14, &tm15 ); om->experiment(); delete om; }