@@ -157,32 +157,25 @@ namespace nlsat {
157
157
~imp () {
158
158
}
159
159
160
- void display (std::ostream & out, polynomial_ref const & p) const {
160
+ std::ostream& display (std::ostream & out, polynomial_ref const & p) const {
161
161
m_pm.display (out, p, m_solver.display_proc ());
162
+ return out;
162
163
}
163
164
164
- void display (std::ostream & out, polynomial_ref_vector const & ps, char const * delim = " \n " ) const {
165
+ std::ostream& display (std::ostream & out, polynomial_ref_vector const & ps, char const * delim = " \n " ) const {
165
166
for (unsigned i = 0 ; i < ps.size (); i++) {
166
167
if (i > 0 )
167
168
out << delim;
168
169
m_pm.display (out, ps.get (i), m_solver.display_proc ());
169
170
}
171
+ return out;
170
172
}
171
173
172
- void display (std::ostream & out, literal l) const { m_solver.display (out, l); }
173
- void display_var (std::ostream & out, var x) const { m_solver.display (out, x); }
174
- void display (std::ostream & out, unsigned sz, literal const * ls) {
175
- for (unsigned i = 0 ; i < sz; i++) {
176
- display (out, ls[i]);
177
- out << " \n " ;
178
- }
179
- }
180
- void display (std::ostream & out, literal_vector const & ls) {
181
- display (out, ls.size (), ls.c_ptr ());
182
- }
183
- void display (std::ostream & out, scoped_literal_vector const & ls) {
184
- display (out, ls.size (), ls.c_ptr ());
185
- }
174
+ std::ostream& display (std::ostream & out, literal l) const { return m_solver.display (out, l); }
175
+ std::ostream& display_var (std::ostream & out, var x) const { return m_solver.display (out, x); }
176
+ std::ostream& display (std::ostream & out, unsigned sz, literal const * ls) const { return m_solver.display (out, sz, ls); }
177
+ std::ostream& display (std::ostream & out, literal_vector const & ls) const { return display (out, ls.size (), ls.c_ptr ()); }
178
+ std::ostream& display (std::ostream & out, scoped_literal_vector const & ls) const { return display (out, ls.size (), ls.c_ptr ()); }
186
179
187
180
/* *
188
181
\brief Add literal to the result vector.
@@ -430,7 +423,7 @@ namespace nlsat {
430
423
bool lit_val = l.sign () ? !atom_val : atom_val;
431
424
return lit_val ? true_literal : false_literal;
432
425
}
433
- else if (s == - 1 && a->is_odd (i)) {
426
+ else if (s < 0 && a->is_odd (i)) {
434
427
atom_sign = -atom_sign;
435
428
}
436
429
normalized = true ;
@@ -1135,7 +1128,7 @@ namespace nlsat {
1135
1128
info.add_lc_ineq ();
1136
1129
}
1137
1130
}
1138
- if (s == - 1 && !is_even) {
1131
+ if (s < 0 && !is_even) {
1139
1132
atom_sign = -atom_sign;
1140
1133
}
1141
1134
}
@@ -1162,7 +1155,7 @@ namespace nlsat {
1162
1155
new_lit = m_solver.mk_ineq_literal (new_k, new_factors.size (), new_factors.c_ptr (), new_factors_even.c_ptr ());
1163
1156
if (l.sign ())
1164
1157
new_lit.neg ();
1165
- TRACE (" nlsat_simplify_core" , tout << " simplified literal:\n " ; display (tout, new_lit); tout << " " << m_solver.value (new_lit) << " \n " ;);
1158
+ TRACE (" nlsat_simplify_core" , tout << " simplified literal:\n " ; display (tout, new_lit) << " " << m_solver.value (new_lit) << " \n " ;);
1166
1159
1167
1160
if (max_var (new_lit) < max) {
1168
1161
if (m_solver.value (new_lit) == l_true) {
@@ -1456,7 +1449,7 @@ namespace nlsat {
1456
1449
void operator ()(unsigned num, literal const * ls, scoped_literal_vector & result) {
1457
1450
SASSERT (check_already_added ());
1458
1451
SASSERT (num > 0 );
1459
- TRACE (" nlsat_explain" , tout << " [explain] set of literals is infeasible in the current interpretation\n " ; display (tout, num, ls););
1452
+ TRACE (" nlsat_explain" , tout << " [explain] set of literals is infeasible in the current interpretation\n " ; display (tout, num, ls) << " \n " ;);
1460
1453
m_result = &result;
1461
1454
process (num, ls);
1462
1455
reset_already_added ();
0 commit comments