Example #1
0
void SortDriver::run(int argc, char** argv){
    std::string sortName=argv[2];
    std::string inFileName=argv[3];
    std::string outFileName=argv[4];
    std::ifstream input(inFileName);
    if(areParametersValid(sortName, inFileName)){
        std::ofstream myOutputFile(outFileName);
        int size=SortDriver::getFileCount(input);
        int* arr=SortDriver::createArray(input, size);
        double elapsed;
        std::cout << "Calculating sort timing information\n";
        if(sortName=="-bubble"){
            elapsed=Sorts<int>::sortTimer(Sorts<int>::bubbleSort, arr, size);
            myOutputFile << "bubble " << size << " " << elapsed;
        }
        else if(sortName=="-selection"){
            elapsed=Sorts<int>::sortTimer(Sorts<int>::selectionSort, arr, size);
            myOutputFile << "selection " << size << " " << elapsed;
        }
        else if(sortName=="-insertion"){
            elapsed=Sorts<int>::sortTimer(Sorts<int>::insertionSort, arr, size);
            myOutputFile << "insertion " << size << " " << elapsed;
        }
        else if(sortName=="-quick"){
            elapsed=Sorts<int>::sortTimer(Sorts<int>::quickSort, arr, size);
            myOutputFile << "quick " << size << " " << elapsed;
        }
        else if(sortName=="-quick3"){
            elapsed=Sorts<int>::sortTimer(Sorts<int>::quickSortWithMedian, arr, size);
            myOutputFile << "quick3 " << size << " " << elapsed;
        }
        else if(sortName=="-merge"){
            elapsed=Sorts<int>::sortTimer(Sorts<int>::mergeSort, arr, size);
            myOutputFile << "selection " << size << " " << elapsed;
        }
        else if(sortName=="-all"){
            std::cout << "Didn't have time to finish the -all case. Sorry!\n";
        }
        std::cout << "Calculations finished. Results stored in " << outFileName << "\n"
                  << "Exiting...\n";

    }
}
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();
	}
}
Example #3
0
FovDistortion::FovDistortion()
    : _w(1.0) {
  SM_ASSERT_TRUE(std::runtime_error, areParametersValid(_w), "Invalid distortion parameter");
}
Example #4
0
void FovDistortion::setParameters(const Eigen::MatrixXd & S) {
  _w = S(0, 0);
  SM_ASSERT_TRUE(std::runtime_error, areParametersValid(_w), "Invalid distortion parameter");
}
Example #5
0
// aslam::backend compatibility
void FovDistortion::update(const double * v) {
  _w += v[0];
  SM_ASSERT_TRUE(std::runtime_error, areParametersValid(_w), "Invalid distortion parameter");
}
Example #6
0
FovDistortion::FovDistortion(const sm::PropertyTree & config) {
  _w = config.getDouble("w");
  SM_ASSERT_TRUE(std::runtime_error, areParametersValid(_w), "Invalid distortion parameter");
}
Example #7
0
FovDistortion::FovDistortion(double w)
    : _w(w){
  SM_ASSERT_TRUE(std::runtime_error, areParametersValid(w), "Invalid distortion parameter");
}