// alg1_sort
// lc525, 24 Apr 2012
//
// If you have problems compiling or generating data just email me
// at lc525@cam.ac.uk

## Simple benchmarking and data generation project for testing
   C++ implementations of different sorting methods 
   
1. Implementing a sorting method

   - all you have to do is edit sort_methods.cpp and add a function
     with the specified prototype that does the sorting.
   - after you wrote the function, update the variables defined at the
     end of sort_methods.cpp. All the functions added here will be run
     from main.cpp, in the order you give them in the mySortFunctions
     array.
   - please update your CRSID, the number of functions in the arrays
     (noSortFunctions), and provide strings naming each of the functions
     in mySortFunctionNames. Usually, you will just put the name of the
     function in double quotes.
     
2. Building the executable

   you have 2 options:
   - you can load the project in Eclipse (you will need the CDT
     plugin - the C Development Tools) and build from there.
   - you can enter one of the binary directories (Debug or Release)
     and type "make" from the command line
     
3. Generate random input data for sorting

   - just run ./alg1_sort with a -gen parameter, giving as the second parameter
     the number of elements you want to generate. when first testing an
     implementation, start with low numbers and increase afterwards.
   - run example:

    	~> ./alg1_sort -gen 10000

     this will generate the data.in file with a list of 10000 random integers

4. Running your executable

   - if inside Eclipse, just run one of the configurations (Debug/Release)
   - when running from command line, make sure the data.in file is in the same
     directory as the executable 

5. Output

   - when running alg1_sort, the timings for each of the tested sorting methods
     will be displayed on standard output, in the format (seconds:nanoseconds)
   - the output is tested and result:ok is displayed if you have sorted correctly
   - the sorted data for each tested function will be written in it's own output
     file.

     