Infering the number of runs
authorHamed Gorjiara <hgorjiar@uci.edu>
Thu, 27 Jun 2019 20:07:46 +0000 (13:07 -0700)
committerHamed Gorjiara <hgorjiar@uci.edu>
Thu, 27 Jun 2019 20:07:46 +0000 (13:07 -0700)
src/Test/analyzemultituner.cc

index effe9651a8b64f0a40de92d179c8c85aba9977bd..f132e74e15079eaf5b2131b87a4b701cdf594445 100644 (file)
@@ -1,15 +1,30 @@
 #include "csolver.h"
 #include "comptuner.h"
 #include "searchtuner.h"
 #include "csolver.h"
 #include "comptuner.h"
 #include "searchtuner.h"
+#include "dirent.h"
 
 
-int main(int argc, char **argv) {
-       if (argc < 2) {
-               printf("You should specify number of runs\n");
-               exit(-1);
+uint getNumberOfRuns(){
+       uint runs = 0;
+       DIR *dir;
+       struct dirent *ent;
+       if ((dir = opendir ("./")) != NULL) {
+               /* print all the files and directories within directory */
+               while ((ent = readdir (dir)) != NULL) {
+                       if(strstr(ent->d_name, "result") != NULL){
+                               runs++;
+                       }
+               }
+               closedir (dir);
+       } else {
+               perror ("Unable to open the directory\n");
+               exit(1);
        }
        }
-       uint numruns;
-       sscanf(argv[1], "%u", &numruns);
+       return runs;
+}
 
 
+int main(int argc, char **argv) {
+       uint numruns = getNumberOfRuns();
+       printf("Number of Runs: %u\n", numruns);
        CompTuner *multituner = new CompTuner(0, 0);
        multituner->readData(numruns);
        multituner->findBestThreeTuners();
        CompTuner *multituner = new CompTuner(0, 0);
        multituner->readData(numruns);
        multituner->findBestThreeTuners();