ASSERT(elemEnc->encArraySize > index && elemEnc->isinUseElement(index));
return elemEnc->encodingArray[index];
}
uint64_t getElementValueUnarySATTranslator(CSolver *This, ElementEncoding *elemEnc) {
uint i;
ASSERT(elemEnc->encArraySize > index && elemEnc->isinUseElement(index));
return elemEnc->encodingArray[index];
}
uint64_t getElementValueUnarySATTranslator(CSolver *This, ElementEncoding *elemEnc) {
uint i;
for (i = 0; i < elemEnc->numVars; i++) {
if (!getValueSolver(This->getSATEncoder()->getCNF()->solver, getEdgeVar( elemEnc->variables[i] )) ) {
for (i = 0; i < elemEnc->numVars; i++) {
if (!getValueSolver(This->getSATEncoder()->getCNF()->solver, getEdgeVar( elemEnc->variables[i] )) ) {
return elemEnc->encodingArray[i];
}
uint64_t getElementValueSATTranslator(CSolver *This, Element *element) {
return elemEnc->encodingArray[i];
}
uint64_t getElementValueSATTranslator(CSolver *This, Element *element) {
if (elemEnc->numVars == 0)//case when the set has only one item
return element->getRange()->getElement(0);
switch (elemEnc->type) {
if (elemEnc->numVars == 0)//case when the set has only one item
return element->getRange()->getElement(0);
switch (elemEnc->type) {
return getElementValueUnarySATTranslator(This, elemEnc);
case BINARYINDEX:
return getElementValueBinaryIndexSATTranslator(This, elemEnc);
return getElementValueUnarySATTranslator(This, elemEnc);
case BINARYINDEX:
return getElementValueBinaryIndexSATTranslator(This, elemEnc);