simplified_solved_InputToSAT = bm->ASTFalse;
}
- ToSATAIG toSATAIG(bm, cb);
- toSATAIG.setArrayTransformer(arrayTransformer);
+ ToSATAIG toSATAIG(bm, cb, arrayTransformer);
ToSATBase* satBase = bm->UserFlags.isSet("traditional-cnf", "0") ? tosat : ((ToSAT*) &toSATAIG) ;
bool timeout = false;
MinisatCore<Minisat::Solver> newS(timeout);
- ToSATAIG tosat(beev);
- tosat.setArrayTransformer(&at);
+ ToSATAIG tosat(beev,&at);
SATSolver::vec_literals satSolverClause;
{
count = 0;
first = true;
- arrayTransformer = NULL;
}
static int cnf_calls;
public:
-
- void setArrayTransformer(ArrayTransformer *at)
- {
- arrayTransformer = at;
- }
-
bool cbIsDestructed()
{
return cb == NULL;
}
- ToSATAIG(STPMgr * bm) :
+ ToSATAIG(STPMgr * bm , ArrayTransformer *at) :
ToSATBase(bm), toCNF(bm->UserFlags)
{
cb = NULL;
init();
+ arrayTransformer = at;
}
- ToSATAIG(STPMgr * bm, simplifier::constantBitP::ConstantBitPropagation* cb_) :
+ ToSATAIG(STPMgr * bm, simplifier::constantBitP::ConstantBitPropagation* cb_, ArrayTransformer *at ) :
ToSATBase(bm), cb(cb_), toCNF(bm->UserFlags)
{
cb = cb_;
init();
+ arrayTransformer = at;
}
~ToSATAIG();
Simplifier *simp = new Simplifier(mgr);
ArrayTransformer * at = new ArrayTransformer(mgr, simp);
AbsRefine_CounterExample* abs = new AbsRefine_CounterExample(mgr, simp, at);
- ToSATAIG* tosat = new ToSATAIG(mgr);
- tosat->setArrayTransformer(at);
+ ToSATAIG* tosat = new ToSATAIG(mgr,at);
GlobalSTP = new STP(mgr, simp, at, tosat, abs);