@@ -89,24 +89,28 @@ void solver_hardnesst::register_assertion_ssas(
89
89
current_hardness = {};
90
90
}
91
91
92
- void solver_hardnesst::register_clause (const bvt &bv)
92
+ void solver_hardnesst::register_clause (
93
+ const bvt &bv,
94
+ const size_t solver_clause_num)
93
95
{
94
96
current_hardness.clauses ++;
95
97
current_hardness.literals += bv.size ();
96
- std::vector<int > clause;
97
98
98
99
for (const auto &literal : bv)
99
100
{
100
101
current_hardness.variables .insert (literal.var_no ());
101
-
102
- int signed_literal = literal.var_no ();
103
- if (literal.sign ())
104
- signed_literal = -signed_literal;
105
- clause.push_back (signed_literal);
106
102
}
107
- clause.push_back (0 );
108
- std::sort (clause.begin (), clause.end ());
109
- current_hardness.clause_set .push_back (clause);
103
+
104
+ #ifdef DEBUG
105
+ std::cout << solver_clause_num << " : " ;
106
+ for (const auto &literal : bv)
107
+ std::cout << literal.dimacs () << " " ;
108
+ std::cout << " 0\n " ;
109
+ #endif
110
+
111
+ current_hardness.clause_set .push_back (solver_clause_num + 1 );
112
+ std::sort (
113
+ current_hardness.clause_set .begin (), current_hardness.clause_set .end ());
110
114
}
111
115
112
116
void solver_hardnesst::set_outfile (const std::string &file_name)
@@ -166,10 +170,8 @@ void solver_hardnesst::produce_report()
166
170
json_arrayt sat_hardness_clause_set_json;
167
171
for (auto const &clause : hardness.clause_set )
168
172
{
169
- json_arrayt clause_json;
170
- for (auto const &lit : clause)
171
- clause_json.push_back (json_numbert{std::to_string (lit)});
172
- sat_hardness_clause_set_json.push_back (clause_json);
173
+ sat_hardness_clause_set_json.push_back (
174
+ json_numbert{std::to_string (clause)});
173
175
}
174
176
sat_hardness_json[" ClauseSet" ] = sat_hardness_clause_set_json;
175
177
@@ -208,10 +210,8 @@ void solver_hardnesst::produce_report()
208
210
json_arrayt assertion_sat_hardness_clause_set_json;
209
211
for (auto const &clause : assertion_stats.sat_hardness .clause_set )
210
212
{
211
- json_arrayt clause_json;
212
- for (auto const &lit : clause)
213
- clause_json.push_back (json_numbert{std::to_string (lit)});
214
- assertion_sat_hardness_clause_set_json.push_back (clause_json);
213
+ assertion_sat_hardness_clause_set_json.push_back (
214
+ json_numbert{std::to_string (clause)});
215
215
}
216
216
assertion_hardness_json[" ClauseSet" ] =
217
217
assertion_sat_hardness_clause_set_json;
0 commit comments