projects
/
satune.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merging with branch scratch and cleaning the code
[satune.git]
/
src
/
Encoders
/
naiveencoder.cc
diff --git
a/src/Encoders/naiveencoder.cc
b/src/Encoders/naiveencoder.cc
index 9b4487ebbbfd055e7e280bdd22a16a9e16e4fbbe..7e33c1b26ca8fd307a4235c37891f3dd2fedde00 100644
(file)
--- a/
src/Encoders/naiveencoder.cc
+++ b/
src/Encoders/naiveencoder.cc
@@
-14,10
+14,10
@@
#include <strings.h>
void naiveEncodingDecision(CSolver *This) {
#include <strings.h>
void naiveEncodingDecision(CSolver *This) {
- SetIteratorBoolean *iterator = This->getConstraints();
+ SetIteratorBoolean
Edge
*iterator = This->getConstraints();
while (iterator->hasNext()) {
while (iterator->hasNext()) {
- Boolean
*boolean
= iterator->next();
- naiveEncodingConstraint(b
oolean
);
+ Boolean
Edge b
= iterator->next();
+ naiveEncodingConstraint(b
.getBoolean()
);
}
delete iterator;
}
}
delete iterator;
}
@@
-28,7
+28,8
@@
void naiveEncodingConstraint(Boolean *This) {
return;
}
case ORDERCONST: {
return;
}
case ORDERCONST: {
- ((BooleanOrder *) This)->order->setOrderEncodingType(PAIRWISE);
+ if (((BooleanOrder *) This)->order->encoding.type == ORDER_UNASSIGNED)
+ ((BooleanOrder *) This)->order->setOrderEncodingType(PAIRWISE);
return;
}
case LOGICOP: {
return;
}
case LOGICOP: {
@@
-46,7
+47,7
@@
void naiveEncodingConstraint(Boolean *This) {
void naiveEncodingLogicOp(BooleanLogic *This) {
for (uint i = 0; i < This->inputs.getSize(); i++) {
void naiveEncodingLogicOp(BooleanLogic *This) {
for (uint i = 0; i < This->inputs.getSize(); i++) {
- naiveEncodingConstraint(This->inputs.get(i));
+ naiveEncodingConstraint(This->inputs.get(i)
.getBoolean()
);
}
}
}
}
@@
-62,8
+63,11
@@
void naiveEncodingPredicate(BooleanPredicate *This) {
}
void naiveEncodingElement(Element *This) {
}
void naiveEncodingElement(Element *This) {
- ElementEncoding *encoding =
getElementEncoding(This
);
+ ElementEncoding *encoding =
This->getElementEncoding(
);
if (encoding->getElementEncodingType() == ELEM_UNASSIGNED) {
if (encoding->getElementEncodingType() == ELEM_UNASSIGNED) {
+ if(This->type != ELEMCONST){
+ model_print("INFO: naive encoder is making the decision about element %p....\n", This);
+ }
encoding->setElementEncodingType(BINARYINDEX);
encoding->encodingArrayInitialization();
}
encoding->setElementEncodingType(BINARYINDEX);
encoding->encodingArrayInitialization();
}
@@
-74,9
+78,9
@@
void naiveEncodingElement(Element *This) {
Element *element = function->inputs.get(i);
naiveEncodingElement(element);
}
Element *element = function->inputs.get(i);
naiveEncodingElement(element);
}
- FunctionEncoding *encoding =
getElementFunctionEncoding(function
);
+ FunctionEncoding *encoding =
function->getElementFunctionEncoding(
);
if (encoding->getFunctionEncodingType() == FUNC_UNASSIGNED)
if (encoding->getFunctionEncodingType() == FUNC_UNASSIGNED)
-
getElementFunctionEncoding(function
)->setFunctionEncodingType(ENUMERATEIMPLICATIONS);
+
function->getElementFunctionEncoding(
)->setFunctionEncodingType(ENUMERATEIMPLICATIONS);
}
}
}
}