Adding checks to avoid further processing on UNSAT Problems
[satune.git] / src / Backend / orderpair.h
1 /*
2  * File:   orderpair.h
3  * Author: hamed
4  *
5  * Created on July 1, 2017, 4:22 PM
6  */
7
8 #ifndef ORDERPAIR_H
9 #define ORDERPAIR_H
10
11 #include "classlist.h"
12 #include "mymemory.h"
13 #include "constraint.h"
14
15 class OrderPair {
16 public:
17         OrderPair(uint64_t first, uint64_t second, Edge constraint = E_NULL);
18         OrderPair();
19         virtual ~OrderPair();
20         virtual Edge getConstraint();
21         virtual bool getConstraintValue(CSolver *solver);
22         //for the cases that we swap first and second ... For total order is straight forward.
23         // but for partial order it has some complexity which should be hidden ... -HG
24         virtual Edge getNegatedConstraint();
25         virtual bool getNegatedConstraintValue(CSolver *solver);
26         uint64_t first;
27         uint64_t second;
28         CMEMALLOC;
29 protected:
30         Edge constraint;
31 };
32
33 #endif/* ORDERPAIR_H */
34