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