00001 #include "sat_api.h"
00002
00003 using namespace std;
00004
00005 void SatSolver::PrintStatistics(ostream & os)
00006 {
00007 int val;
00008 float time;
00009
00010 os << "Number of Variables\t\t\t" << NumVariables() << endl;
00011
00012 val = GetNumLiterals();
00013 if (val != -1)
00014 os << "Number of Literals\t\t\t" << val << endl;
00015
00016 os << "Number of Clauses\t\t\t" << NumClauses() << endl;
00017
00018 val = GetBudgetUsed();
00019 if (val != -1)
00020 os << "Budget Used\t\t\t\t" << val << endl;
00021
00022 val = GetMemUsed();
00023 if (val != -1)
00024 os << "Memory Used\t\t\t\t" << val << endl;
00025
00026 val = GetMaxDLevel();
00027 if (val != -1)
00028 os << "Maximum Decision Level\t\t\t" << val << endl;
00029
00030 val = GetNumDecisions();
00031 if (val != -1)
00032 os << "Number of Decisions\t\t\t" << val << endl;
00033
00034 val = GetNumImplications();
00035 if (val != -1)
00036 os << "Number of Implications\t\t\t" << val << endl;
00037
00038 val = GetNumConflicts();
00039 if (val != -1)
00040 os << "Number of Conflicts\t\t\t" << val << endl;
00041
00042 val = GetNumExtConflicts();
00043 if (val != -1)
00044 os << "Number of External Conflicts\t\t" << val << endl;
00045
00046 val = GetNumDeletedClauses();
00047 if (val != -1)
00048 os << "Number of Deleted Clauses\t\t" << val << endl;
00049
00050 val = GetNumDeletedLiterals();
00051 if (val != -1)
00052 os << "Number of Deleted Literals\t\t" << val << endl;
00053
00054 time = GetTotalTime();
00055 if (time != -1)
00056 os << endl << "Total Run Time\t\t\t\t" << time << endl;
00057
00058 time = GetSATTime();
00059 if (time != -1)
00060 os << "Time spent in SAT\t\t\t" << time << endl;
00061 }