#ifndef ANALYSIS_H_INCLUDED #define ANALYSIS_H_INCLUDED #include #include #include #include "SearchHeuristic.h" std::chrono::time_point start_chrono() { return std::chrono::system_clock::now(); } std::chrono::time_point stop_chrono() { return std::chrono::system_clock::now(); } int interval_chrono(std::chrono::time_point start, std::chrono::time_point stop) { return std::chrono::duration_cast(stop-start).count(); } struct Statistic { Statistic(double avg, double mini, double maxi, double med, double dev) : average{avg}, minimal{mini}, maximal{maxi}, median{med}, deviation{dev} {}; double average; double minimal; double maximal; double median; double deviation; }; Statistic avg_calls(SearchHeuristic& algo, MasterMind problem, int nb=100) { std::vector data; Statistic stat(0,0,0,0,0); for(int i=0; i stat.maximal) stat.maximal = res.nb_calls; if(res.nb_calls < stat.minimal) stat.minimal = res.nb_calls; } stat.average /= nb; for(int i=0; i