Program Listing for File DepTestStatistics.h

Program Listing for File DepTestStatistics.h#

Return to documentation for file (src/midend/programTransformation/loopProcessing/depInfo/DepTestStatistics.h)

#ifndef DEP_TEST_STATISTICS_H
#define DEP_TEST_STATISTICS_H

#include <DepRel.h>
#include <DDTypes.h>
#include <DepInfo.h>
#include <sys/time.h>
#include <sys/resource.h>

class DepTestStatistics
{
        private:
                int _total_problems;
                int _num_diffs_adhoc_plato;
                int _num_diffs_adhoc_omega;
                int _num_diffs_plato_omega;
                int _num_processed_adhoc;
                int _num_processed_plato;
                int _num_processed_omega;
                int _num_no_dep_adhoc;
                int _num_equal_dvs_adhoc;
                int _num_less_than_dvs_adhoc;
                int _num_greater_than_dvs_adhoc;
                int _num_star_dvs_adhoc;
                int _num_no_dep_plato;
                int _num_equal_dvs_plato;
                int _num_less_than_dvs_plato;
                int _num_greater_than_dvs_plato;
                int _num_star_dvs_plato;
                int _num_no_dep_omega;
                int _num_equal_dvs_omega;
                int _num_less_than_dvs_omega;
                int _num_greater_than_dvs_omega;
                int _num_star_dvs_omega;
                double _total_time_adhoc;
                double _total_time_plato;
                double _total_time_omega;
                double _adhoc_t0;
                double _plato_t0;
                double _omega_t0;
                std::string _filename;
                unsigned int _dep_test_choice;

        public:
                DepTestStatistics() : _total_problems(0),
                                                                _num_diffs_adhoc_plato(0),
                                                                _num_diffs_adhoc_omega(0),
                                                                _num_diffs_plato_omega(0),
                                                                _num_processed_adhoc(0),
                                                                _num_processed_plato(0),
                                                                _num_processed_omega(0),
                                                                _num_no_dep_adhoc(0),
                                                                _num_equal_dvs_adhoc(0),
                                                                _num_less_than_dvs_adhoc(0),
                                                                _num_greater_than_dvs_adhoc(0),
                                                                _num_star_dvs_adhoc(0),
                                                                _num_no_dep_plato(0),
                                                                _num_equal_dvs_plato(0),
                                                                _num_less_than_dvs_plato(0),
                                                                _num_greater_than_dvs_plato(0),
                                                                _num_star_dvs_plato(0),
                                                                _num_no_dep_omega(0),
                                                                _num_equal_dvs_omega(0),
                                                                _num_less_than_dvs_omega(0),
                                                                _num_greater_than_dvs_omega(0),
                                                                _num_star_dvs_omega(0),
                                                                _total_time_adhoc(0),
                                                                _total_time_plato(0),
                                                                _total_time_omega(0),
                                                                _dep_test_choice(0) {};


                int AddProblem(int p);
                int AddProcessedAdhoc(int p);
                int AddProcessedPlato(int p);
                int AddProcessedOmega(int p);
                void GetProcessed(int *a, int *p, int *o);
                void SetFileName(const std::string fname);
                bool CompareDepTests(unsigned int c, DepInfo a, DepInfo p, DepInfo o);
                unsigned int RoseToPlatoDV(const DepRel dr);
                DepDirType PlatoToRoseDV(unsigned int _dv);
                void GetDiffs(int *ap, int *ao, int *po);
                void GetTimes(double *a, double *p, double *o);
                double AddAdhocTime(double t0, double t1);
                double AddPlatoTime(double t0, double t1);
                double AddOmegaTime(double t0, double t1);
                int AddAdhocDV(unsigned int dv);
                int AddOmegaDV(unsigned int dv);
                int AddPlatoDV(unsigned int dv);
                void GetEqualDVs(unsigned int *a, unsigned int *p, unsigned int *o);
                void GetLessThanDVs(unsigned int *a, unsigned int *p, unsigned int *o);
                void GetGreaterThanDVs(unsigned int *a, unsigned int *p, unsigned int *o);
                void GetStarDVs(unsigned int *a, unsigned int *p, unsigned int *o);
                void InitAdhocTime(void);
                void InitPlatoTime(void);
                void InitOmegaTime(void);
                double SetAdhocTime(void);
                double SetPlatoTime(void);
                double SetOmegaTime(void);
                double GetTime(void);
                void SetDepChoice(unsigned int dep_test_choice);
                void PrintResults(void);
};

#endif