private static void Main(string[] args) { Options.Parse(args); //CalculateIterationAverage(_directory); //check that the file exists before attempting to parse if (!Directory.Exists(_directory)) { Console.WriteLine("Directory \"{0}\" does not exist", _directory); return; } //List<Algorithm> algorithms = CIlibParserOld.ParseDirectory(directory); CIlibParser parser = new FullParser(); List <Algorithm> algorithms = parser.ParseDirectory(_directory); string outputPath = Path.Combine(_directory, "averages"); CalculateIterationAverage(algorithms, outputPath); }
static void Main(string[] args) { options.Parse(args); //check that the file exists before attempting to parse if (!Directory.Exists(directory)) { Console.WriteLine("Directory \"{0}\" does not exist", directory); return; } //List<Algorithm> algorithms = CIlibParserOld.ParseDirectory(directory); CIlibParser parser = new FullParser(); List <Algorithm> algorithms = parser.ParseDirectory(directory); string outputPath = Path.Combine(directory, "averages"); if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } foreach (string measure in algorithms[0].Measurements.Select(x => x.Name)) { string fileName = Path.Combine(outputPath, $"{measure}.csv"); using (TextWriter writer = new StreamWriter(fileName)) { writer.WriteLine("Iteration,{0}", string.Join(",", algorithms.Select(x => x.Name))); //TODO: sort the iterations? foreach (int iteration in algorithms[0].Measurements[0].Iterations) { string values = string.Join(",", algorithms.Select(x => x.Measurements.Find(m => m.Name == measure)[iteration].Average)); writer.WriteLine($"{iteration}, {values}"); } } } }