From d7f3a82baf741d8b527d5cea0426c16e0ebc3348 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 30 Aug 2017 21:08:30 -0700 Subject: [PATCH] Add convenience functions --- src/csolver.cc | 11 +++++++++++ src/csolver.h | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/src/csolver.cc b/src/csolver.cc index d7003df..0d6e352 100644 --- a/src/csolver.cc +++ b/src/csolver.cc @@ -227,6 +227,17 @@ bool CSolver::isFalse(Boolean *b) { return b->isFalse(); } +Boolean *CSolver::applyLogicalOperation(LogicOp op, Boolean * arg1, Boolean * arg2) { + Boolean * array[] = {arg1, arg2}; + return applyLogicalOperation(op, array, 2); +} + +Boolean *CSolver::applyLogicalOperation(LogicOp op, Boolean *arg) { + Boolean * array[] = {arg}; + return applyLogicalOperation(op, array, 1); +} + + Boolean *CSolver::applyLogicalOperation(LogicOp op, Boolean **array, uint asize) { Boolean * newarray[asize]; switch(op) { diff --git a/src/csolver.h b/src/csolver.h index 00abc66..b937f71 100644 --- a/src/csolver.h +++ b/src/csolver.h @@ -86,6 +86,14 @@ public: Boolean *applyLogicalOperation(LogicOp op, Boolean **array, uint asize); + /** This function applies a logical operation to the Booleans in its input. */ + + Boolean *applyLogicalOperation(LogicOp op, Boolean * arg1, Boolean * arg2); + + /** This function applies a logical operation to the Booleans in its input. */ + + Boolean *applyLogicalOperation(LogicOp op, Boolean *arg); + /** This function adds a boolean constraint to the set of constraints to be satisfied */ -- 2.34.1