//=================================================================================//
//                                                                                 //
//                                  Using SnappyD                                  //
//                                                                                 //
//=================================================================================//
// FILES:                                                                          //
// The program consists of a single executable file and three .txt files.        //
// These files are summarised:                                                     //
// >> snappyD_input.txt                                                            //
//    The input file, containing the parameter information for each group          //
//    construction to be undertaken. This file is described below.                 //
// >> snappyD_print_defaults.txt                                                   //
//    The output control file. This contains only one meaningful line of data, an  //
//    array of 1's and 0's that are used to indicate the form and complexity of    //
//    output desired. This array comprises the first line in the file and is the   //
//    only line read by SnappyD; the file itself provides a detailed description   //
//    of the various output options.                                               //
//    - This file is not necessary for the success of the program, but without it  //
//      the output will revert to only a simple form.                              //
// >> snappyD_OUTPUT_CPT.txt                                                       //
//    This is the output file, and is regenerated every time the (specific variant //
//    of the) program is used.                                                     //
// >> snappyD_CPT.exe                                                              //
//    The executable, double click and it runs through the input file, producing a //
//    new output file.                                                             //
//                                                                                 //
// NOTE: _CPT corresponds to the version of SnappyD being used;                  //
//        in this case, the standard version used for the thesis.                  //
//                                                                                 //
// These files should be able to be copy and pasted onto other machines (of the  //
// same type, Mac/PC). On a PC the executable can be placed anywhere and will both //
// read and output files to the same 'folder location'. However, on a Mac, while   //
// the executable can be anywhere on the computer, but the input output files must //
// all be put into the "user" folder. If you cannot find this folder, then simply  //
// run the executable (it will generate an empty output file), and search for the  //
// snappyD file keyword in a finder window.                                      //
//=================================================================================//
// EXECUTABLES:                                                                    //
// We provide these files an executables in the relevant zipped folders. In theory //
// these should work on the relevant computer. However, if this is not the case,   //
// then the executables can be remade with files in the SnappyD_code.zip file. To  //
// do this simply compile the relevant "SnappyD_CPT.c" file (see "_CPT" note above)//
// - we have not used a makefile when building these. If using XCODE (on a Mac),   //
// then copy and paste the above file into the main.c file.                        //
//                                                                                 //
// Note on Mac results:                                                            //
// Our work has been done on a PC using executables generated by the GCC compiler  //
// given. In final testing we have noticed a slight discrepancy between those that //
// we have used and those generated by a Mac(XCODE) executable. The differences    //
// seem negligible, and we assume they are simply due to a slight difference in a  //
// basic, background routine of some sort.                                         //
//=================================================================================//
// INPUT:                                                                          //
// The input-file, snappyD_input.txt, contains a list of parameter sets, and       //
// several other settings for each attempted construction. Each line in the file   //
// is a set of  6 numbers, with each line corresponding to a different             //
// construction attempt. Outside of spaces and numbers, no additional formatting   //
// characters can be present in the file.                                          //
//                                                                                 //
// Each line if of the form:                                                       //
//                                                                                 //
//           n     E_V     p     q     RE(gamma)      IM(gamma)                    //
//                                                                                 //
// Where:                                                                          //
// >> (p, q, gamma) is the computational parameter set of interest.                //
//    (NOTE: p and q can only take integer values in the interval [2, 50].)        //
// >> n is an integer reference for tracking the output of a (set of) group(s).    //
// >> E_V is an integer, setting vertex epsilon to 10-E_V.                         //
//    (NOTE: E_V can only take integer values in the interval [3, 15]. We suggest  //
//     7 as a best, default option.)                                               //
//=================================================================================//
