}
void BooleanVar::print() {
- model_print("BooleanVar:%lu\n", (uintptr_t)this);
+ model_print("BooleanVar<%p>\n", this);
}
void BooleanConst::print() {
- model_print("BooleanConst:%s\n", istrue ? "TRUE" : "FALSE");
+ model_print("BooleanConst<%p>:%s\n", this, istrue ? "TRUE" : "FALSE");
}
void BooleanOrder::serialize(Serializer *serializer) {
}
void BooleanOrder::print() {
- model_print("{BooleanOrder: First= %lu, Second = %lu on Order:\n", first, second);
+ model_print("{BooleanOrder<%p>: First= %lu, Second = %lu on Order:\n", this, first, second);
order->print();
model_print("}\n");
}
}
void BooleanPredicate::print() {
- model_print("{BooleanPredicate:\n");
+ model_print("{BooleanPredicate<%p>:\n", this);
predicate->print();
model_print("elements:\n");
uint size = inputs.getSize();
}
void BooleanLogic::print() {
- model_print("{BooleanLogic: %s\n",
+ model_print("{BooleanLogic<%p>: %s\n", this,
op == SATC_AND ? "AND" : op == SATC_OR ? "OR" : op == SATC_NOT ? "NOT" :
op == SATC_XOR ? "XOR" : op == SATC_IFF ? "IFF" : "IMPLIES");
uint size = inputs.getSize();
}
void ElementSet::print() {
- model_print("{ElementSet:");
+ model_print("{ElementSet<%p>:", this);
set->print();
model_print(" %p ", this);
getElementEncoding()->print();
}
void ElementConst::print() {
- model_print("{ElementConst: %" PRIu64 "}\n", value);
+ model_print("{ElementConst<%p>: %" PRIu64 "}\n", this, value);
}
void ElementFunction::serialize(Serializer *serializer) {
}
void ElementFunction::print() {
- model_print("{ElementFunction:\n");
+ model_print("{ElementFunction<%p>:\n", this);
function->print();
model_print("Elements:\n");
uint size = inputs.getSize();
}
void FunctionTable::print() {
- model_print("{FunctionTable:\n");
+ model_print("{FunctionTable<%p>:\n", this);
table->print();
model_print("}\n");
}
}
void FunctionOperator::print() {
- model_print("{FunctionOperator: %s}\n", op == SATC_ADD ? "ADD" : "SUB" );
+ model_print("{FunctionOperator<%p>: %s}\n", this, op == SATC_ADD ? "ADD" : "SUB" );
}
}
void Order::print() {
- model_print("{Order on Set:\n");
+ model_print("{Order<%p> on Set:\n", this);
set->print();
model_print("}\n");
}
}
void Set::print() {
- model_print("{Set:");
+ model_print("{Set<%p>:", this);
if (isRange) {
model_print("Range: low=%lu, high=%lu}", low, high);
} else {
void Table::print() {
- model_print("{Table:\n");
+ model_print("{Table<%p>:\n", this);
SetIteratorTableEntry *iterator = getEntries();
while (iterator->hasNext()) {
TableEntry *entry = iterator->next();
if (spacefree < __n) {
flushBuffer();
towrite += datatowrite;
+ __n-=datatowrite;
} else if (spacefree == __n) {
flushBuffer();
return;
//#define CONFIG_DEBUG
#endif
-#define SATCHECK_CONFIG
#ifndef CONFIG_ASSERT
#define CONFIG_ASSERT
/** This function tears down the solver and the entire AST */
CSolver::~CSolver() {
+ serialize();
uint size = allBooleans.getSize();
for (uint i = 0; i < size; i++) {
delete allBooleans.get(i);
#include "config.h"
-#define SATCHECK_CONFIG
-
/*
void * ourmalloc(size_t size);
void ourfree(void *ptr);