void parseUserInput(char input) { switch(input) { case 'T': printf("\n\n%s", nm->systemTreeToDetailedString().c_str()); break; case 't': printf("\n\n%s", nm->systemTreeToString().c_str()); break; case 'c': case 'C': system(CLEAR_COMMAND); break; case '?': printHelpMenu(); default: break; } }
bool SortDriver::isSortValid(std::string sortParameter){ if(sortParameter=="-bubble" || sortParameter=="-insertion" || sortParameter=="-selection" || sortParameter=="-selection" || sortParameter=="-merge" || sortParameter=="-quick" || sortParameter=="-quick3"){ return true; } else{ printHelpMenu(); return false; } }
int main(int argc, char *args) { struct termios newTermio; struct termios storedTermio; bool running = true; char choice[8] = {0}; int count = 0; tcgetattr(0,&storedTermio); memcpy(&newTermio,&storedTermio,sizeof(struct termios)); // Disable canonical mode, and set buffer size to 0 byte(s) newTermio.c_lflag &= (~ICANON); newTermio.c_lflag &= (~ECHO); newTermio.c_cc[VTIME] = 0; newTermio.c_cc[VMIN] = 1; tcsetattr(0,TCSANOW,&newTermio); printf("\nOpenJAUS Node Manager Version %s (%s)\n\n", OJ_NODE_MANAGER_VERSION, __DATE__); FileLoader *configData = new FileLoader("nodeManager.conf"); MyHandler *handler = new MyHandler(); nm = new NodeManager(configData, handler); printHelpMenu(); while(running) { bzero(choice, 8); count = read(0, &choice, 8); //printf("%d %d %d %d %d %d %d %d %d\n", count, choice[0], choice[1], choice[2], choice[3], choice[4], choice[5], choice[6], choice[7]); if(count == 1 && choice[0] == 27) // ESC { running = false; } else if(count == 1) { parseUserInput(choice[0]); } } tcsetattr(0, TCSANOW, &storedTermio); return 0; }
int main(int argc, char** argv) { initApplication( argc, argv ); //initGL( argc, argv ); initGLUT( argc, argv ); GLenum err = glewInit(); if (err || !glewIsSupported("GL_VERSION_2_0 GL_ARB_pixel_buffer_object")) { fprintf(stderr, "Required OpenGL extensions missing."); exit(-1); } else { initCUDA( argc, argv ); initObservationSpace(); // init the pbo dispResp->createPBO(); // Create pixel buffer object // init result device memory //createResMem(); atexit(cleanUpAtExit); // printHelpMenu(); // start glut main loop glutMainLoop(); } return 0; }
void SortDriver::run(int argc, char** argv) { if(argc == 5) { std::string sort = argv[2]; std::string filename = argv[3]; if(areParametersValid(sort, filename)) { int nums; std::string outfileName = argv[4]; std::ifstream read(filename); nums = getFileCount(read); int* array = createArray(read, nums); int* array2 = new int[nums]; std::ofstream write(outfileName); double time; if(sort == "-bubble") { time = Sorts<int>::sortTimer(Sorts<int>::bubbleSort, array, nums); write << "bubble " << nums << " " << time; } else if(sort == "-insertion") { time = Sorts<int>::sortTimer(Sorts<int>::insertionSort, array, nums); write << "insertion " << nums << " " << time; } else if(sort == "-selection") { time = Sorts<int>::sortTimer(Sorts<int>::selectionSort, array, nums); write << "selection " << nums << " " << time; } else if(sort == "-merge") { time = Sorts<int>::sortTimer(Sorts<int>::mergeSort, array, nums); write << "merge " << nums << " " << time; } else if(sort == "-quick") { time = Sorts<int>::sortTimer(Sorts<int>::quickSort, array, nums); write << "quick " << nums << " " << time; } else if(sort == "-quick3") { time = Sorts<int>::sortTimer(Sorts<int>::quickSortWithMedian, array, nums); write << "quick3 " << nums << " " << time; } else if(sort == "-all") { copyArray(array, array2, nums); time = Sorts<int>::sortTimer(Sorts<int>::bubbleSort, array, nums); write<<"bubble "<<nums<< " "<<time; write<<"\n"; copyArray(array2, array, nums); time = Sorts<int>::sortTimer(Sorts<int>::insertionSort, array, nums); write<<"insertion "<<nums<< " "<<time; write << "\n"; copyArray(array, array2, nums); time = Sorts<int>::sortTimer(Sorts<int>::selectionSort, array, nums); write<<"selection "<<nums<<" "<<time; write << "\n"; copyArray(array2, array, nums); time = Sorts<int>::sortTimer(Sorts<int>::mergeSort, array, nums); write<<"merge "<<nums<<" "<<time; write << "\n"; copyArray(array, array2, nums); time = Sorts<int>::sortTimer(Sorts<int>::quickSort, array, nums); write<<"quick "<<nums<<" "<<time; write << "\n"; copyArray(array2, array, nums); time = Sorts<int>::sortTimer(Sorts<int>::quickSortWithMedian, array, nums); write<<"quick3 "<<nums<<" "<<time; } //prevent memory leaks write.close(); delete array; delete array2; array=nullptr; array2=nullptr; } } else { printHelpMenu(); } }
// GLUT keybord callback function void keyboard(unsigned char key, int x, int y) { switch(key) { case 'q': cleanUpAtExit(); exit(0); break; // TODO: memory error when hitting q when cleanUpAtExcit is called. case 'f': paintTool->decreaseFrequency(); simulator->updateSourceFrequencies(paintTool->getFreq()); break; case 'F': paintTool->increaseFrequency(); simulator->updateSourceFrequencies(paintTool->getFreq()); break; case 'T': simulator->stepForward(); break; case 't': simulator->stepBack(); break; case 'S': simulator->increaseSimSpeed(); printf("Sim s in CPU s: %.2f\n", simulator->getSimCPUTimeFactor()); break; case 's': simulator->decreaseSimSpeed(); printf("Sim s in CPU s: %.2f\n", simulator->getSimCPUTimeFactor()); break; case 'L': paintTool->increaseLambdaFrac(); printf("Lambda frac: %.1f\n", paintTool->getLambdaFrac()); break; case 'l': paintTool->decreaseLambdaFrac(); printf("Lambda frac: %.1f\n", paintTool->getLambdaFrac()); break; case 'd': dispResp->updateDynamicRange(-5.0f); break; case 'D': dispResp->updateDynamicRange(5.0f); break; case 'o': samplesPerMeter -= 100; if (samplesPerMeter < 100) samplesPerMeter = 100; makeNewObservationSpace(); break; case 'O': samplesPerMeter += 100; makeNewObservationSpace(); break; case 'n': if (!cwMode) { if (paintTool->getPulseLength() > 1) { paintTool->decreasePulseLength(); } } printf("Pulse length: %.1f\n", paintTool->getPulseLength()); break; case 'N': if (!cwMode) { paintTool->increasePulseLength(); } printf("Pulse length: %.1f\n", paintTool->getPulseLength()); break; case 'x': simulator->listSources(); break; case 'z': zoomMode = !zoomMode; printf(zoomMode? "Resize: zoom mode\n" : "Resize: extend obs mode\n"); break; case 'r': simulator->restart(); break; case 'c': simulator->clearSrcList(); break; case 'e': dispResp->switchDispMode(); printf(dispResp->dispEnvelopeIsOn()? "Display envelope\n" : "Display phase\n"); break; case 'a': printf("Apod = %d (0 = uniform, 1 = hann, 2 = hamming, 3 = cosine)\n", paintTool->nextApod() ); break; case 'm': cwMode = !cwMode; break; case '.': freeDrawMode = !freeDrawMode; printf(freeDrawMode? "Array draw mode: free hand\n" : "Array draw mode: linear\n"); break; case 'p': simulator->playPause(); break; case 'h': default: printHelpMenu(); break; } // set correct pulse length depending on cw or pw mode if (key == 'm' || key == 'n' || key == 'N') { if (key == 'm') { if (cwMode) { paintTool->setPulseLength(0.0f); } else { paintTool->setPulseLength(10.0f); } } } glutPostRedisplay(); }
int main(int argc, char *args) { // Console parameters HANDLE handleStdin; INPUT_RECORD inputEvents[128]; DWORD eventCount; // Control parameter bool running = true; int i = 0; printf("\nOpenJAUS Node Manager Version %s (%s)\n\n", OJ_NODE_MANAGER_VERSION, __DATE__); // Setup the console window's input handle handleStdin = GetStdHandle(STD_INPUT_HANDLE); MyHandler *handler = new MyHandler(); FileLoader *configData = new FileLoader("nodeManager.conf"); nm = new NodeManager(configData, handler); printHelpMenu(); while(running) { // See how many events are waiting for us, this prevents blocking if none GetNumberOfConsoleInputEvents(handleStdin, &eventCount); if(eventCount > 0) { // Check for user input here ReadConsoleInput( handleStdin, // input buffer handle inputEvents, // buffer to read into 128, // size of read buffer &eventCount); // number of records read } // Parse console input events for (i = 0; i < (int) eventCount; i++) { switch(inputEvents[i].EventType) { case KEY_EVENT: // keyboard input if(inputEvents[i].Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE) { running = false; } else if(inputEvents[i].Event.KeyEvent.bKeyDown) { parseUserInput(inputEvents[i].Event.KeyEvent.uChar.AsciiChar); } break; default: break; } } Sleep((DWORD)(0.2*1e3)); } return 0; }