QMessageFolderSortOrder QMessageFolderSortOrder::byPath(Qt::SortOrder order) { QMessageFolderSortOrder result; QPair<QMessageFolderSortOrderPrivate::Field, Qt::SortOrder> fieldOrder(QMessageFolderSortOrderPrivate::Path, order); result.d_ptr->_fieldOrderList.append(fieldOrder); return result; }
TEUCHOS_UNIT_TEST(tCloneLOF, blocked_epetra) { // build global (or serial communicator) #ifdef HAVE_MPI Teuchos::RCP<Epetra_Comm> eComm = Teuchos::rcp(new Epetra_MpiComm(MPI_COMM_WORLD)); #else Teuchos::RCP<Epetra_Comm> eComm = Teuchos::rcp(new Epetra_SerialComm()); #endif Teuchos::RCP<const Teuchos::MpiComm<int> > tComm = Teuchos::rcp(new Teuchos::MpiComm<int>(MPI_COMM_WORLD)); int myRank = eComm->MyPID(); int numProc = eComm->NumProc(); RCP<ConnManager<int,int> > connManager = rcp(new unit_test::ConnManager(myRank,numProc)); RCP<const FieldPattern> patternC1 = buildFieldPattern<Intrepid2::Basis_HGRAD_HEX_C1_FEM<double,FieldContainer> >(); RCP<panzer::BlockedDOFManager<int,int> > indexer = rcp(new panzer::BlockedDOFManager<int,int>()); indexer->setConnManager(connManager,MPI_COMM_WORLD); indexer->addField("U",patternC1); indexer->addField("V",patternC1); std::vector<std::vector<std::string> > fieldOrder(2); fieldOrder[0].push_back("U"); fieldOrder[1].push_back("V"); indexer->setFieldOrder(fieldOrder); indexer->buildGlobalUnknowns(); RCP<panzer::BlockedDOFManager<int,int> > control_indexer = rcp(new panzer::BlockedDOFManager<int,int>()); control_indexer->setConnManager(connManager,MPI_COMM_WORLD); control_indexer->addField("Z",patternC1); fieldOrder[0][0] = "Z"; control_indexer->buildGlobalUnknowns(); // setup factory RCP<BlockedEpetraLinearObjFactory<Traits,int> > ep_lof = Teuchos::rcp(new BlockedEpetraLinearObjFactory<Traits,int>(tComm,indexer)); // this is the member we are testing! RCP<const LinearObjFactory<Traits> > control_lof = cloneWithNewDomain(*ep_lof,control_indexer); RCP<const BlockedEpetraLinearObjFactory<Traits,int> > ep_control_lof = rcp_dynamic_cast<const BlockedEpetraLinearObjFactory<Traits,int> >(control_lof); /* TEST_ASSERT(ep_control_lof->getMap()->SameAs(*ep_lof->getMap())); TEST_EQUALITY(ep_control_lof->getColMap()->NumMyElements(),Teuchos::as<int>(control_owned.size())); */ }
TEUCHOS_UNIT_TEST(tCloneLOF, blocked_epetra_nonblocked_domain) { typedef Thyra::ProductVectorBase<double> PVector; typedef Thyra::BlockedLinearOpBase<double> BLinearOp; typedef Thyra::VectorBase<double> Vector; // build global (or serial communicator) #ifdef HAVE_MPI Teuchos::RCP<Epetra_Comm> eComm = Teuchos::rcp(new Epetra_MpiComm(MPI_COMM_WORLD)); #else Teuchos::RCP<Epetra_Comm> eComm = Teuchos::rcp(new Epetra_SerialComm()); #endif Teuchos::RCP<const Teuchos::MpiComm<int> > tComm = Teuchos::rcp(new Teuchos::MpiComm<int>(MPI_COMM_WORLD)); int myRank = eComm->MyPID(); int numProc = eComm->NumProc(); RCP<ConnManager<int,int> > connManager = rcp(new unit_test::ConnManager<int>(myRank,numProc)); RCP<const FieldPattern> patternC1 = buildFieldPattern<Intrepid2::Basis_HGRAD_QUAD_C1_FEM<double,FieldContainer> >(); RCP<const FieldPattern> patternC2 = buildFieldPattern<Intrepid2::Basis_HGRAD_QUAD_C2_FEM<double,FieldContainer> >(); RCP<panzer::BlockedDOFManager<int,int> > indexer = rcp(new panzer::BlockedDOFManager<int,int>()); { std::vector<std::vector<std::string> > fieldOrder(2); indexer->setConnManager(connManager,MPI_COMM_WORLD); indexer->addField("U",patternC1); indexer->addField("V",patternC1); fieldOrder[0].push_back("U"); fieldOrder[1].push_back("V"); indexer->setFieldOrder(fieldOrder); indexer->buildGlobalUnknowns(); } RCP<panzer::DOFManager<int,int> > control_indexer = rcp(new panzer::DOFManager<int,int>()); { control_indexer->setConnManager(connManager,MPI_COMM_WORLD); control_indexer->addField("Z",patternC1); control_indexer->buildGlobalUnknowns(); patternC2->print(out); } // setup factory out << "build lof" << std::endl; RCP<BlockedEpetraLinearObjFactory<Traits,int> > ep_lof = Teuchos::rcp(new BlockedEpetraLinearObjFactory<Traits,int>(tComm,indexer)); // this is the member we are testing! out << "cloning lof" << std::endl; RCP<const LinearObjFactory<Traits> > control_lof = cloneWithNewDomain(*ep_lof,control_indexer); out << "casting lof" << std::endl; RCP<const BlockedEpetraLinearObjFactory<Traits,int> > ep_control_lof = rcp_dynamic_cast<const BlockedEpetraLinearObjFactory<Traits,int> >(control_lof,true); out << "using casted lof" << std::endl; RCP<BLinearOp> mat = rcp_dynamic_cast<BLinearOp>(ep_control_lof->getThyraMatrix(),true); RCP<BLinearOp> gmat = rcp_dynamic_cast<BLinearOp>(ep_control_lof->getGhostedThyraMatrix(),true); RCP<Vector> x = ep_control_lof->getThyraDomainVector(); RCP<Vector> gx = ep_control_lof->getGhostedThyraDomainVector(); RCP<PVector> f = rcp_dynamic_cast<PVector>(ep_control_lof->getThyraRangeVector(),true); RCP<PVector> gf = rcp_dynamic_cast<PVector>(ep_control_lof->getGhostedThyraRangeVector(),true); TEST_EQUALITY(x->space()->dim(),18); TEST_EQUALITY(gx->space()->dim(),10+15); TEST_EQUALITY(f->productSpace()->numBlocks(),2); TEST_EQUALITY(f->productSpace()->dim(),36); TEST_EQUALITY(gf->productSpace()->numBlocks(),2); TEST_EQUALITY(gf->productSpace()->dim(),50); TEST_EQUALITY(mat->productRange()->numBlocks(),2); TEST_EQUALITY(mat->productRange()->dim(),36); TEST_EQUALITY(mat->productDomain()->numBlocks(),1); TEST_EQUALITY(mat->productDomain()->dim(),18); TEST_EQUALITY(gmat->productRange()->numBlocks(),2); TEST_EQUALITY(gmat->productRange()->dim(),50); TEST_EQUALITY(gmat->productDomain()->numBlocks(),1); TEST_EQUALITY(gmat->productDomain()->dim(),10+15); }
bool ffMpeg2Configure(void) { diaMenuEntry arE[]= { {0,QT_TRANSLATE_NOOP("ffmpeg2","Normal (4:3)")}, {1,QT_TRANSLATE_NOOP("ffmpeg2","Wide (16:9)")} }; diaMenuEntry matrixE[]= { {MPEG2_MATRIX_DEFAULT,QT_TRANSLATE_NOOP("ffmpeg2","Default")}, {MPEG2_MATRIX_TMPGENC,QT_TRANSLATE_NOOP("ffmpeg2","Tmpgenc")}, {MPEG2_MATRIX_ANIME,QT_TRANSLATE_NOOP("ffmpeg2","Animes")}, {MPEG2_MATRIX_KVCD,QT_TRANSLATE_NOOP("ffmpeg2","KVCD")}, }; diaMenuEntry rdE[]={ {0,QT_TRANSLATE_NOOP("ffmpeg2","MB comparison")}, {1,QT_TRANSLATE_NOOP("ffmpeg2","Fewest bits (vhq)")}, {2,QT_TRANSLATE_NOOP("ffmpeg2","Rate distortion")} }; diaMenuEntry threads[]={ {0,QT_TRANSLATE_NOOP("ffmpeg2","One thread")}, {2,QT_TRANSLATE_NOOP("ffmpeg2","Two threads)")}, {3,QT_TRANSLATE_NOOP("ffmpeg2","Three threads")}, {99,QT_TRANSLATE_NOOP("ffmpeg2","Auto (#cpu)")} }; diaMenuEntry interE[]={ {0,QT_TRANSLATE_NOOP("ffmpeg2","Progressive")}, {1,QT_TRANSLATE_NOOP("ffmpeg2","Interlaced")}, }; diaMenuEntry foE[]={ {0,QT_TRANSLATE_NOOP("ffmpeg2","Top Field First")}, {1,QT_TRANSLATE_NOOP("ffmpeg2","Bottom Field First")}, }; mpeg2_encoder *conf=&Mp2Settings; uint32_t me=(uint32_t)conf->lavcSettings.me_method; #define PX(x) &(conf->lavcSettings.x) diaElemBitrate bitrate(&(Mp2Settings.params),NULL); diaElemMenu threadM(PX(MultiThreaded),QT_TRANSLATE_NOOP("ffmpeg2","Threading"),4,threads); diaElemUInteger qminM(PX(qmin),QT_TRANSLATE_NOOP("ffmpeg2","Mi_n. quantizer:"),1,31); diaElemUInteger qmaxM(PX(qmax),QT_TRANSLATE_NOOP("ffmpeg2","Ma_x. quantizer:"),1,31); diaElemUInteger qdiffM(PX(max_qdiff),QT_TRANSLATE_NOOP("ffmpeg2","Max. quantizer _difference:"),1,31); diaElemUInteger bufferS(PX(bufferSize),QT_TRANSLATE_NOOP("ffmpeg2","VBV Buffer Size:"),1,1024); diaElemUInteger maxBitrate(PX(maxBitrate),QT_TRANSLATE_NOOP("ffmpeg2","Max bitrate (kb/s):"),1,50000); diaElemToggle trellis(PX(_TRELLIS_QUANT),QT_TRANSLATE_NOOP("ffmpeg2","_Trellis quantization")); diaElemUInteger max_b_frames(PX(max_b_frames),QT_TRANSLATE_NOOP("ffmpeg2","_Number of B frames:"),0,32); uint32_t widescreen= conf->lavcSettings.widescreen; uint32_t iinterlaced= conf->lavcSettings.interlaced; uint32_t bff= conf->lavcSettings.bff; diaElemMenu rdM(PX(mb_eval),QT_TRANSLATE_NOOP("ffmpeg2","_Macroblock decision:"),3,rdE); diaElemMenu arM(&(widescreen),QT_TRANSLATE_NOOP("ffmpeg2","Aspect ratio:"),2,arE); diaElemMenu matrixM(&(Mp2Settings.matrix),QT_TRANSLATE_NOOP("ffmpeg2","Matrices:"),MPEG2_MATRIX_LAST,matrixE); diaElemUInteger filetol(PX(vratetol),QT_TRANSLATE_NOOP("ffmpeg2","_Filesize tolerance (kb):"),0,100000); diaElemFloat qzComp(PX(qcompress),QT_TRANSLATE_NOOP("ffmpeg2","_Quantizer compression:"),0,1); diaElemFloat qzBlur(PX(qblur),QT_TRANSLATE_NOOP("ffmpeg2","Quantizer _blur:"),0,1); diaElemUInteger GopSize(PX(gop_size),QT_TRANSLATE_NOOP("ffmpeg2","_Gop Size:"),1,30); diaElemMenu interlaced(&(iinterlaced),QT_TRANSLATE_NOOP("ffmpeg2","_Interlaced:"),2,interE); diaElemMenu fieldOrder(&(bff),QT_TRANSLATE_NOOP("ffmpeg2","Field Order:"),2,foE); /* First Tab : encoding mode */ diaElem *diamode[]={&arM,&threadM,&bitrate}; diaElemTabs tabMode(QT_TRANSLATE_NOOP("ffmpeg2","Basic Settings"),3,diamode); /* 2nd Tab : advanced*/ diaElem *diaAdv[]={&bufferS,&matrixM,&max_b_frames,&GopSize,&maxBitrate}; diaElemTabs tabAdv(QT_TRANSLATE_NOOP("ffmpeg2","Adv. Settings"),5,diaAdv); /* 2ndb Tab : interlacing*/ diaElem *diaInter[]={&interlaced,&fieldOrder}; diaElemTabs tabInter(QT_TRANSLATE_NOOP("ffmpeg2","Interlacing"),2,diaInter); /* 3nd Tab : Qz */ diaElem *diaQze[]={&rdM,&qminM,&qmaxM,&qdiffM,&trellis}; diaElemTabs tabQz(QT_TRANSLATE_NOOP("ffmpeg2","Quantization"),5,diaQze); /* 4th Tab : RControl */ diaElem *diaRC[]={&filetol,&qzComp,&qzBlur}; diaElemTabs tabRC(QT_TRANSLATE_NOOP("ffmpeg2","Rate Control"),3,diaRC); diaElemTabs *tabs[]={&tabMode,&tabAdv,&tabInter,&tabQz,&tabRC}; if( diaFactoryRunTabs(QT_TRANSLATE_NOOP("ffmpeg2","libavcodec MPEG-2 configuration"),5,tabs)) { conf->lavcSettings.me_method=(Motion_Est_ID)me; conf->lavcSettings.widescreen= widescreen; conf->lavcSettings.interlaced= iinterlaced; conf->lavcSettings.bff= bff; return true; } return false; }