X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FBackend%2Fsatencoder.h;h=08ec52707c2fe57988df6670022be6263085e888;hb=457ee300c637089a095444672c9d4628faf901e7;hp=ef3edc6a1eb8bbd810d9fe15d3ece0ddcdf8bb2c;hpb=5567c0959b9e3bcdebcf3c2dfab9af3728fe25c2;p=satune.git diff --git a/src/Backend/satencoder.h b/src/Backend/satencoder.h index ef3edc6..08ec527 100644 --- a/src/Backend/satencoder.h +++ b/src/Backend/satencoder.h @@ -47,11 +47,14 @@ private: Edge encodeOrderSATEncoder(BooleanOrder *constraint); Edge inferOrderConstraintFromGraph(Order *order, uint64_t _first, uint64_t _second); Edge getPairConstraint(Order *order, OrderPair *pair); + Edge getPartialPairConstraint(Order *order, OrderPair *pair); Edge encodeTotalOrderSATEncoder(BooleanOrder *constraint); Edge encodePartialOrderSATEncoder(BooleanOrder *constraint); void createAllTotalOrderConstraintsSATEncoder(Order *order); + void createAllPartialOrderConstraintsSATEncoder(Order *order); Edge getOrderConstraint(HashtableOrderPair *table, OrderPair *pair); Edge generateTransOrderConstraintSATEncoder(Edge constIJ, Edge constJK, Edge constIK); + Edge generatePartialOrderConstraintsSATEncoder(Edge ij,Edge ji, Edge jk, Edge kj,Edge ik, Edge ki); Edge encodeEnumEntriesTablePredicateSATEncoder(BooleanPredicate *constraint); Edge encodeEnumTablePredicateSATEncoder(BooleanPredicate *constraint); void encodeEnumTableElemFunctionSATEncoder(ElementFunction *This);