int main(int argc, const char *argv[]) { FILE* file = fopen(argv[1],"r"); if (file == NULL) err(-1,"No mesh file !"); output = fopen(argv[2],"w+"); int nCase; fscanf(file,"%d \n",&nCase); int i; char** tik = (char**)malloc(sizeof(char*)*4); for (i=0; i<4; i++) { tik[i] = (char*)malloc(sizeof(char)*4); } int trash; for (i=0; i<nCase; i++) { int j; for (j=0; j<4; j++) { fscanf(file,"%c%c%c%c \n",&tik[0][j], &tik[1][j],&tik[2][j], &tik[3][j]); //printf("%c\n",tik[j][0]); } trash = checkCase(i,tik); fscanf(file,"\n"); } for (i=0; i<4; i++) { free(tik[i]); } free(tik); fclose(file); fclose(output); return 0; }
S32 CIniFile::findSection(const string §ionName) const { for(S32 sectionId = 0; sectionId < sectionNames.size(); ++sectionId) if(checkCase(sectionNames[sectionId], sectionName)) return sectionId; return noID; }
S32 CIniFile::findKey(S32 const sectionId, const string &keyName) const { if(!sections.size() || sectionId >= sections.size()) return noID; for(S32 keyID = 0; keyID < sections[sectionId].keys.size(); ++keyID) if(checkCase(sections[sectionId].keys[keyID], keyName)) return keyID; return noID; }
static bool checkFirstChar(const std::wstring& titleW,const std::wstring& word) { if (titleW.size() <= 0) return false; if (word.size() <= 2) return false; switch (titleW[0]) { case L'あ': case L'ア': return ( checkCase(word[0],'a') || checkCase(word[0],'u') || checkCase(word[0],'i') || checkCase(word[0],'o') ); case L'い': case L'イ': return ( checkCase(word[0],'i') || checkCase(word[0],'e') || checkCase(word[0],'y') ); case L'う': case L'ウ': return ( checkCase(word[0],'u') || checkCase(word[0],'w') || checkCase(word[0],'o') || checkCase(word[0],'v') ); case L'え': case L'エ': return ( checkCase(word[0],'a') || checkCase(word[0],'m') || checkCase(word[0],'x') || checkCase(word[0],'e') || checkCase(word[0],'f') || checkCase(word[0],'s') || checkCase(word[0],'h') || checkCase(word[0],'l') || checkCase(word[0],'a') ); case L'お': case L'オ': return ( checkCase(word[0],'o') || checkCase(word[0],'a') ); case L'か': case L'カ': return ( checkCase(word[0],'k') || checkCase(word[0],'c') ); case L'き': case L'キ': return ( checkCase(word[0],'k') || checkCase(word[0],'c') || checkCase(word[0],'x') ); case L'く': case L'ク': return ( checkCase(word[0],'k') || checkCase(word[0],'c') || checkCase(word[0],'x') || checkCase(word[0],'q') ); case L'け': case L'ケ': return ( checkCase(word[0],'k') || checkCase(word[0],'c') || checkCase(word[0],'x') || checkCase(word[0],'q') ); case L'こ': case L'コ': return ( checkCase(word[0],'k') || checkCase(word[0],'c') ); case L'さ': case L'サ': return ( checkCase(word[0],'s') || checkCase(word[0],'c') || checkCase(word[0],'t') ); case L'し': case L'シ': return ( checkCase(word[0],'s') || checkCase(word[0],'t') || checkCase(word[0],'c') ); case L'す': case L'ス': return ( checkCase(word[0],'s') || checkCase(word[0],'t') ); case L'せ': case L'セ': return ( checkCase(word[0],'s') || checkCase(word[0],'c') ); case L'そ': case L'ソ': return ( checkCase(word[0],'s') ); case L'た': case L'タ': return ( checkCase(word[0],'t') ); case L'ち': case L'チ': return ( checkCase(word[0],'t') || checkCase(word[0],'c') ); case L'つ': case L'ツ': return ( checkCase(word[0],'t') ); case L'て': case L'テ': return ( checkCase(word[0],'t') ); case L'と': case L'ト': return ( checkCase(word[0],'t') ); case L'な': case L'ナ': return ( checkCase(word[0],'n') || checkCase(word[0],'k') ); case L'に': case L'ニ': return ( checkCase(word[0],'n') ); case L'ぬ': case L'ヌ': return ( checkCase(word[0],'n') ); case L'ね': case L'ネ': return ( checkCase(word[0],'n') ); case L'の': case L'ノ': return ( checkCase(word[0],'n') ); case L'は': case L'ハ': return ( checkCase(word[0],'h') ); case L'ひ': case L'ヒ': return ( checkCase(word[0],'h') ); case L'ふ': case L'フ': return ( checkCase(word[0],'f') || checkCase(word[0],'p') || checkCase(word[0],'v') ); case L'へ': case L'ヘ': return ( checkCase(word[0],'h') ); case L'ほ': case L'ホ': return ( checkCase(word[0],'h') ); case L'ま': case L'マ': return ( checkCase(word[0],'m') ); case L'み': case L'ミ': return ( checkCase(word[0],'m') ); case L'む': case L'ム': return ( checkCase(word[0],'m') ); case L'め': case L'メ': return ( checkCase(word[0],'m') ); case L'も': case L'モ': return ( checkCase(word[0],'m') ); case L'や': case L'ヤ': return ( checkCase(word[0],'y') || checkCase(word[0],'j') ); case L'ゆ': case L'ユ': return ( checkCase(word[0],'y') || checkCase(word[0],'e') || checkCase(word[0],'j') || checkCase(word[0],'u') ); case L'よ': case L'ヨ': return ( checkCase(word[0],'y') ); case L'ら': case L'ラ': return ( checkCase(word[0],'r') || checkCase(word[0],'l') ); case L'り': case L'リ': return ( checkCase(word[0],'r') || checkCase(word[0],'l') ); case L'る': case L'ル': return ( checkCase(word[0],'r') || checkCase(word[0],'l') ); case L'れ': case L'レ': return ( checkCase(word[0],'r') || checkCase(word[0],'l') ); case L'ろ': case L'ロ': return ( checkCase(word[0],'r') || checkCase(word[0],'l') ); case L'わ': case L'ワ': return ( checkCase(word[0],'w') || checkCase(word[0],'o') ); case L'を': case L'ヲ': return ( checkCase(word[0],'w') ); case L'ん': case L'ン': return ( checkCase(word[0],'n') ); case L'が': case L'ガ': return ( checkCase(word[0],'g') ); case L'ぎ': case L'ギ': return ( checkCase(word[0],'g') ); case L'ぐ': case L'グ': return ( checkCase(word[0],'g') ); case L'げ': case L'ゲ': return ( checkCase(word[0],'g') ); case L'ご': case L'ゴ': return ( checkCase(word[0],'g') ); case L'ざ': case L'ザ': return ( checkCase(word[0],'t')||checkCase(word[0],'z')||checkCase(word[0],'x')||checkCase(word[0],'s') ); case L'じ': case L'ジ': return ( checkCase(word[0],'g')||checkCase(word[0],'j')||checkCase(word[0],'z')||checkCase(word[0],'t') ); case L'ず': case L'ズ': return ( checkCase(word[0],'z') ); case L'ぜ': case L'ゼ': return ( checkCase(word[0],'z') || checkCase(word[0],'j')|| checkCase(word[0],'x') ); case L'ぞ': case L'ゾ': return ( checkCase(word[0],'z') ); case L'だ': case L'ダ': return ( checkCase(word[0],'d') ); case L'ぢ': case L'ヂ': return ( checkCase(word[0],'d') || checkCase(word[0],'j') ); case L'づ': case L'ヅ': return ( checkCase(word[0],'z') ); case L'で': case L'デ': return ( checkCase(word[0],'d') ); case L'ど': case L'ド': return ( checkCase(word[0],'d') ); case L'ば': case L'バ': return ( checkCase(word[0],'b') ); case L'び': case L'ビ': return ( checkCase(word[0],'b') || checkCase(word[0],'v') ); case L'ぶ': case L'ブ': return ( checkCase(word[0],'b') ); case L'べ': case L'ベ': return ( checkCase(word[0],'b') || checkCase(word[0],'v') ); case L'ぼ': case L'ボ': return ( checkCase(word[0],'b') ); case L'ぱ': case L'パ': return ( checkCase(word[0],'p') ); case L'ぴ': case L'ピ': return ( checkCase(word[0],'p') ); case L'ぷ': case L'プ': return ( checkCase(word[0],'p') ); case L'ぺ': case L'ペ': return ( checkCase(word[0],'p') ); case L'ぽ': case L'ポ': return ( checkCase(word[0],'p') ); case L'ヴ': return ( checkCase(word[0],'v') ); } return true; }
void specialCaseTests(void) { Set empty; Set universal; int i; Set s; Set r; createEmptySet(&empty); createEmptySet(&universal); createEmptySet(&r); for (i = 0; i < maximum_set_size; i += 1) { insertSet(&universal, i); } checkCase(&subtractFromSet, &universal, &universal, &empty); checkCase(&unionInSet, &universal, &universal, &universal); checkCase(&intersectFromSet, &universal, &universal, &universal); checkCase(&intersectFromSet, &universal, &empty, &empty); checkCase(&intersectFromSet, &empty, &universal, &empty); checkCase(&unionInSet, &universal, &empty, &universal); checkCase(&unionInSet, &empty, &universal, &universal); checkCase(&unionInSet, &empty, &empty, &empty); checkCase(&subtractFromSet, &empty, &empty, &empty); checkCase(&intersectFromSet, &empty, &empty, &empty); createEmptySet(&s); assert(isEmptySet(&s)); for (i = 0; i < 10; i += 1) { insertSet(&s, i); } assert(s.len == 10); for (i = 0; i < 10; i += 1) { assert(isMemberSet(&s, i)); } for (i = 0; i < 10; i += 1) { removeSet(&s, i); removeSet(&s, i); assert(s.len == 9 - i); } assert(isEmptySet(&s)); for (i = 0; i < number_of_tests; i += 1) { randomSet(&s); assert(isSubsetOf(&empty, &s)); assert(!isSubsetOf(&s, &empty)); assert(isSubsetOf(&s, &universal)); assert(!isSubsetOf(&universal, &s)); checkCase(&intersectFromSet, &empty, &s, &empty); checkCase(&intersectFromSet, &s, &empty, &empty); checkCase(&intersectFromSet, &universal, &s, &s); checkCase(&intersectFromSet, &s, &universal, &s); checkCase(&unionInSet, &universal, &s, &universal); checkCase(&unionInSet, &s, &universal, &universal); checkCase(&subtractFromSet, &s, &empty, &s); assignSet(&r, &universal); subtractFromSet(&r, &s); // r = u - s; checkCase(&subtractFromSet, &universal, &r, &s); // (u - (u - s) == s) checkCase(&unionInSet, &s, &r, &universal); // s + (u - s) == u checkCase(&unionInSet, &r, &s, &universal); // (u - s) + s == u } printf("The special case tests have been passed\n"); destroySet(&empty); destroySet(&universal); destroySet(&s); destroySet(&r); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); checkDialog c; c.show(); // shortcuts ui->actionOpen->setShortcut(Qt::Key_O | Qt::CTRL); ui->actionChange_directory->setShortcut(Qt::Key_D | Qt::CTRL); ui->actionClose->setShortcut(Qt::Key_Q | Qt::CTRL); ui->actionRun_F5->setShortcut(Qt::Key_F5); ui->actionClear_case_F6->setShortcut(Qt::Key_F6); ui->actionWrite_input_file_F4->setShortcut(Qt::Key_F4); ui->actionCheck->setShortcut(Qt::Key_F7); QSignalMapper *signalMapper = new QSignalMapper(this); for( int index=0; index < ui->output->count() ; ++index ){ QShortcut *shortcut =new QShortcut( QKeySequence(QString("Ctrl+%1").arg( index +1 ) ), this ); connect( shortcut, SIGNAL(activated() ), signalMapper, SLOT( map() ) ); signalMapper->setMapping( shortcut, index ); } connect( signalMapper, SIGNAL(mapped( int )),ui->output, SLOT(setCurrentIndex( int )) ); // Wave theory ui->widget_SF->setVisible(false); ui->LorP_ComboBox->setVisible(false); ui->widget_waveFile->setVisible(false); QRect SFwidget_geo = ui->widget_SF->geometry(); ui->widget_JONSWAP->setGeometry(SFwidget_geo); ui->widget_JONSWAP->setVisible(false); ui->widget_waveFile->setGeometry(SFwidget_geo); ui->widget_customSpectrum->setVisible(false); ui->widget_customSpectrum->setGeometry(SFwidget_geo); // About ui->aboutText_OCW3dGUI->setVisible(false); ui->aboutText_OCW3D_publications->setVisible(false); ui->aboutText_OCW3DVersion->setVisible(false); // Post processing ui->readProgressBar->setVisible(false); ui->tableWidget->setColumnCount(6); ui->tableWidget->setVisible(false); ui->SelectOutput->setEnabled(false); ui->convert->setEnabled(false); ui->morison_widget->setVisible(false); ui->eta_widget->setVisible(false); QRect Morison_geo = ui->morison_widget->geometry(); ui->eta_widget->setGeometry(Morison_geo); ui->convertStatus->setVisible(false); // Custom grid ui->geometry_table->setRowCount(2); ui->geometry_table->setVerticalHeaderLabels(QString("x [m];d [m]").split(";")); ui->customGridWidget->setVisible(false); // set labels ui->alpha_label->setText(QString((QChar) 0x03B1)); ui->beta_label->setText(QString((QChar) 0x03B2)); ui->gamma_label->setText(QString((QChar) 0x03B3)); connect(ui->waveType,SIGNAL(currentIndexChanged(int)),this,SLOT(on_waveTheoryChanged(int))); connect(ui->storeAscii_onOff,SIGNAL(clicked(bool)),this,SLOT(storeASCII(bool))); connect(ui->LorP_ComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(on_waveTheoryChanged())); connect(ui->nOutFiles,SIGNAL(valueChanged(int)),this,SLOT(on_outputWidgetChanged(int))); connect(ui->OpenDirBrowser,SIGNAL(clicked()),this,SLOT(openWorkDirDialog())); connect(ui->selectPPfile,SIGNAL(clicked()),this,SLOT(selectPPfile())); connect(ui->run,SIGNAL(clicked()),this,SLOT(run())); connect(ui->selectGnuplotFile,SIGNAL(clicked()),this,SLOT(openFileDialog())); connect(ui->plot,SIGNAL(clicked()),this,SLOT(gnuplot())); connect(ui->read_bottom,SIGNAL(clicked()),this,SLOT(readKinematicFile())); connect(ui->about_combobox,SIGNAL(currentIndexChanged(int)),this,SLOT(about_changed(int))); connect(ui->SelectOutput,SIGNAL(currentIndexChanged(int)),this,SLOT(convertTo_setup(int))); connect(ui->convert,SIGNAL(clicked()),this,SLOT(convertTo())); connect(ui->showGrid,SIGNAL(clicked()),this,SLOT(showGrid())); connect(ui->geometryType,SIGNAL(currentIndexChanged(int)),this,SLOT(geometryType_changed(int))); connect(ui->nGridPoints,SIGNAL(valueChanged(int)),this,SLOT(nGridPoints_changed())); connect(ui->smooth,SIGNAL(clicked()),this,SLOT(smooth())); connect(ui->generateGrid,SIGNAL(clicked()),this,SLOT(generateGrid())); connect(ui->selectWaveFile,SIGNAL(clicked()),this,SLOT(selectWaveFile())); connect(ui->selectGridFile,SIGNAL(clicked()),this,SLOT(selectGridFile())); connect(ui->selectWaveFile_eta,SIGNAL(clicked()),this,SLOT(selectWaveFile_eta())); connect(ui->DropDownListOutputType,SIGNAL(currentIndexChanged(int)),this,SLOT(WaveTypeSelected())); connect(ui->pushButton_advancedMorison,SIGNAL(clicked()),this,SLOT(advancedMorison())); // default connect(ui->checkBox_constantWidget,SIGNAL(stateChanged(int)),this,SLOT(constantWidget())); connect(ui->checkBox_breakingWidget,SIGNAL(stateChanged(int)),this,SLOT(breakingWidget())); connect(ui->checkBox_FD,SIGNAL(stateChanged(int)),this,SLOT(FDWidget())); connect(ui->checkBox_precon,SIGNAL(stateChanged(int)),this,SLOT(preconWidget())); // ations connect(ui->actionClose,SIGNAL(triggered()),this,SLOT(close())); connect(ui->actionOpen,SIGNAL(triggered()),this,SLOT(openFile())); connect(ui->actionRun_F5,SIGNAL(triggered()),this,SLOT(run())); connect(ui->actionClear_case_F6,SIGNAL(triggered()),this,SLOT(clearCase())); connect(ui->actionWrite_input_file_F4,SIGNAL(triggered()),this,SLOT(writeInputFile())); connect(ui->actionChange_directory,SIGNAL(triggered()),this,SLOT(openWorkDirDialog())); connect(ui->actionCheck,SIGNAL(triggered()),this,SLOT(checkCase())); ui->workingDir->setText(dir.currentPath()); // Special versions #if externalOutputClass ui->SelectOutput->addItem("External output"); #endif }