File tree 1 file changed +15
-14
lines changed
1 file changed +15
-14
lines changed Original file line number Diff line number Diff line change @@ -257,7 +257,7 @@ literalt prop_conv_solvert::convert_bool(const exprt &expr)
257
257
}
258
258
else if (
259
259
expr.id () == ID_or || expr.id () == ID_and || expr.id () == ID_xor ||
260
- expr.id () == ID_nor || expr.id () == ID_nand)
260
+ expr.id () == ID_nor || expr.id () == ID_nand || expr. id () == ID_xnor )
261
261
{
262
262
INVARIANT (
263
263
!op.empty (),
@@ -268,19 +268,20 @@ literalt prop_conv_solvert::convert_bool(const exprt &expr)
268
268
for (const auto &operand : op)
269
269
bv.push_back (convert (operand));
270
270
271
- if (!bv.empty ())
272
- {
273
- if (expr.id () == ID_or)
274
- return prop.lor (bv);
275
- else if (expr.id () == ID_nor)
276
- return !prop.lor (bv);
277
- else if (expr.id () == ID_and)
278
- return prop.land (bv);
279
- else if (expr.id () == ID_nand)
280
- return !prop.land (bv);
281
- else if (expr.id () == ID_xor)
282
- return prop.lxor (bv);
283
- }
271
+ CHECK_RETURN (!bv.empty ());
272
+
273
+ if (expr.id () == ID_or)
274
+ return prop.lor (bv);
275
+ else if (expr.id () == ID_nor)
276
+ return !prop.lor (bv);
277
+ else if (expr.id () == ID_and)
278
+ return prop.land (bv);
279
+ else if (expr.id () == ID_nand)
280
+ return !prop.land (bv);
281
+ else if (expr.id () == ID_xor)
282
+ return prop.lxor (bv);
283
+ else if (expr.id () == ID_xnor)
284
+ return !prop.lxor (bv);
284
285
}
285
286
else if (expr.id () == ID_not)
286
287
{
You can’t perform that action at this time.
0 commit comments