Interface should be bool, not happenedbefore
[satune.git] / src / Translator / integerencorderresolver.cc
1
2 /*
3  * File:   integerencorderresolver.cpp
4  * Author: hamed
5  *
6  * Created on September 1, 2017, 4:58 PM
7  */
8
9 #include "integerencorderresolver.h"
10 #include "integerencodingrecord.h"
11 #include "sattranslator.h"
12
13 IntegerEncOrderResolver::IntegerEncOrderResolver(CSolver *_solver, IntegerEncodingRecord *_ierecord) :
14         solver(_solver),
15         ierecord(_ierecord)
16 {
17 }
18
19 IntegerEncOrderResolver::~IntegerEncOrderResolver() {
20 }
21
22
23 bool IntegerEncOrderResolver::resolveOrder(uint64_t first, uint64_t second) {
24         Element *elem1 = ierecord->getOrderIntegerElement(solver, first, false);
25         ASSERT (elem1 != NULL);
26         Element *elem2 = ierecord->getOrderIntegerElement(solver, second, false);
27         ASSERT (elem2 != NULL);
28
29         uint64_t val1 = getElementValueSATTranslator(solver, elem1);
30         uint64_t val2 = getElementValueSATTranslator(solver, elem2);
31         return val1 < val2;
32 }